home *** CD-ROM | disk | FTP | other *** search
/ Apple Developer Connection 1998 Fall: Game Toolkit / Disc.iso / SDKs / QuickTime Mac / AIncludes / Movies.a < prev    next >
Encoding:
Text File  |  1998-04-16  |  202.0 KB  |  7,420 lines  |  [TEXT/MPS ]

  1. ;
  2. ;    File:        Movies.a
  3. ;
  4. ;    Contains:    QuickTime Interfaces.
  5. ;
  6. ;    Version:    Technology:    QuickTime 3.0
  7. ;                Release:    QuickTime 3.0
  8. ;
  9. ;    Copyright:    © 1990-1998 by Apple Computer, Inc., all rights reserved
  10. ;
  11. ;    Bugs?:        Please include the the file and version information (from above) with
  12. ;                the problem description.  Developers belonging to one of the Apple
  13. ;                developer programs can submit bug reports to:
  14. ;
  15. ;                    devsupport@apple.com
  16. ;
  17. ;
  18.     IF &TYPE('__MOVIES__') = 'UNDEFINED' THEN
  19. __MOVIES__ SET 1
  20.  
  21.     IF &TYPE('__QUICKDRAW__') = 'UNDEFINED' THEN
  22.     include 'Quickdraw.a'
  23.     ENDIF
  24.     IF &TYPE('__ALIASES__') = 'UNDEFINED' THEN
  25.     include 'Aliases.a'
  26.     ENDIF
  27.     IF &TYPE('__EVENTS__') = 'UNDEFINED' THEN
  28.     include 'Events.a'
  29.     ENDIF
  30.     IF &TYPE('__MENUS__') = 'UNDEFINED' THEN
  31.     include 'Menus.a'
  32.     ENDIF
  33.     IF &TYPE('__COMPONENTS__') = 'UNDEFINED' THEN
  34.     include 'Components.a'
  35.     ENDIF
  36.     IF &TYPE('__IMAGECOMPRESSION__') = 'UNDEFINED' THEN
  37.     include 'ImageCompression.a'
  38.     ENDIF
  39.  
  40.  
  41. ;   "kFix1" is defined in FixMath as "fixed1"  
  42. ;  error codes are in Errors.[haa] 
  43. ;  gestalt codes are in Gestalt.[hpa] 
  44.  
  45. MovieFileType                    EQU        'MooV'
  46. MovieScrapType                    EQU        'moov'
  47.  
  48. MovieResourceType                EQU        'moov'
  49. MovieForwardPointerResourceType    EQU        'fore'
  50. MovieBackwardPointerResourceType EQU    'back'
  51.  
  52. MovieResourceAtomType            EQU        'moov'
  53. MovieDataAtomType                EQU        'mdat'
  54. FreeAtomType                    EQU        'free'
  55. SkipAtomType                    EQU        'skip'
  56.  
  57. MediaHandlerType                EQU        'mhlr'
  58. DataHandlerType                    EQU        'dhlr'
  59.  
  60. VideoMediaType                    EQU        'vide'
  61. SoundMediaType                    EQU        'soun'
  62. TextMediaType                    EQU        'text'
  63. BaseMediaType                    EQU        'gnrc'
  64. MPEGMediaType                    EQU        'MPEG'
  65. MusicMediaType                    EQU        'musi'
  66. TimeCodeMediaType                EQU        'tmcd'
  67. SpriteMediaType                    EQU        'sprt'
  68. TweenMediaType                    EQU        'twen'
  69. ThreeDeeMediaType                EQU        'qd3d'
  70. HandleDataHandlerSubType        EQU        'hndl'
  71. ResourceDataHandlerSubType        EQU        'rsrc'
  72. URLDataHandlerSubType            EQU        'url '
  73.  
  74. VisualMediaCharacteristic        EQU        'eyes'
  75. AudioMediaCharacteristic        EQU        'ears'
  76. kCharacteristicCanSendVideo        EQU        'vsnd'
  77. kCharacteristicProvidesActions    EQU        'actn'
  78. kCharacteristicNonLinear        EQU        'nonl'
  79.  
  80. kUserDataMovieControllerType    EQU        'ctyp'
  81. kUserDataName                    EQU        'name'
  82. kUserDataTextFullName            EQU        '©nam'
  83. kUserDataTextCopyright            EQU        '©cpy'
  84. kUserDataTextInformation        EQU        '©inf'
  85.  
  86. DoTheRightThing                    EQU        0
  87.  
  88. MovieRecord                RECORD 0
  89. data                     ds.l    1                ; offset: $0 (0) <-- really an array of length one
  90. sizeof                     EQU *                    ; size:   $4 (4)
  91.                         ENDR
  92. ; typedef struct MovieRecord *            Movie
  93.  
  94. TrackRecord                RECORD 0
  95. data                     ds.l    1                ; offset: $0 (0) <-- really an array of length one
  96. sizeof                     EQU *                    ; size:   $4 (4)
  97.                         ENDR
  98. ; typedef struct TrackRecord *            Track
  99.  
  100. MediaRecord                RECORD 0
  101. data                     ds.l    1                ; offset: $0 (0) <-- really an array of length one
  102. sizeof                     EQU *                    ; size:   $4 (4)
  103.                         ENDR
  104. ; typedef struct MediaRecord *            Media
  105.  
  106. UserDataRecord            RECORD 0
  107. data                     ds.l    1                ; offset: $0 (0) <-- really an array of length one
  108. sizeof                     EQU *                    ; size:   $4 (4)
  109.                         ENDR
  110. ; typedef struct UserDataRecord *        UserData
  111.  
  112. TrackEditStateRecord    RECORD 0
  113. data                     ds.l    1                ; offset: $0 (0) <-- really an array of length one
  114. sizeof                     EQU *                    ; size:   $4 (4)
  115.                         ENDR
  116. ; typedef struct TrackEditStateRecord *    TrackEditState
  117.  
  118. MovieEditStateRecord    RECORD 0
  119. data                     ds.l    1                ; offset: $0 (0) <-- really an array of length one
  120. sizeof                     EQU *                    ; size:   $4 (4)
  121.                         ENDR
  122. ; typedef struct MovieEditStateRecord *    MovieEditState
  123.  
  124. SpriteWorldRecord        RECORD 0
  125. data                     ds.l    1                ; offset: $0 (0) <-- really an array of length one
  126. sizeof                     EQU *                    ; size:   $4 (4)
  127.                         ENDR
  128. ; typedef struct SpriteWorldRecord *    SpriteWorld
  129.  
  130. SpriteRecord            RECORD 0
  131. data                     ds.l    1                ; offset: $0 (0) <-- really an array of length one
  132. sizeof                     EQU *                    ; size:   $4 (4)
  133.                         ENDR
  134. ; typedef struct SpriteRecord *            Sprite
  135.  
  136. QTTweenerRecord            RECORD 0
  137. data                     ds.l    1                ; offset: $0 (0) <-- really an array of length one
  138. sizeof                     EQU *                    ; size:   $4 (4)
  139.                         ENDR
  140. ; typedef struct QTTweenerRecord *        QTTweener
  141.  
  142. SampleDescription        RECORD 0
  143. descSize                 ds.l    1                ; offset: $0 (0)
  144. dataFormat                 ds.l    1                ; offset: $4 (4)
  145. resvd1                     ds.l    1                ; offset: $8 (8)
  146. resvd2                     ds.w    1                ; offset: $C (12)
  147. dataRefIndex             ds.w    1                ; offset: $E (14)
  148. sizeof                     EQU *                    ; size:   $10 (16)
  149.                         ENDR
  150. ; typedef struct SampleDescription *    SampleDescriptionPtr
  151.  
  152. ; typedef SampleDescriptionPtr *        SampleDescriptionHandle
  153.  
  154. ; typedef Handle                         QTAtomContainer
  155.  
  156. ; typedef long                             QTAtom
  157.  
  158. ; typedef long                             QTAtomType
  159.  
  160. ; typedef long                             QTAtomID
  161.  
  162. ;  QTFloatDouble is the 64-bit IEEE-754 standard
  163. QTFloatDouble            RECORD 0
  164. f                         ds        Float64
  165. sizeof                     EQU *                    ; size:   $8 (8)
  166.                         ENDR
  167.  
  168.  
  169. ;  QTFloatSingle is the 32-bit IEEE-754 standard
  170. QTFloatSingle            RECORD 0
  171. f                         ds        Float32
  172. sizeof                     EQU *                    ; size:   $4 (4)
  173.                         ENDR
  174.  
  175.  
  176.  
  177.  
  178. SoundDescription        RECORD 0
  179. descSize                 ds.l    1                ; offset: $0 (0)        ;  total size of SoundDescription including extra data 
  180. dataFormat                 ds.l    1                ; offset: $4 (4)        ;  sound format 
  181. resvd1                     ds.l    1                ; offset: $8 (8)        ;  reserved for apple use. set to zero 
  182. resvd2                     ds.w    1                ; offset: $C (12)        ;  reserved for apple use. set to zero 
  183. dataRefIndex             ds.w    1                ; offset: $E (14)
  184. version                     ds.w    1                ; offset: $10 (16)        ;  which version is this data 
  185. revlevel                 ds.w    1                ; offset: $12 (18)        ;  what version of that codec did this 
  186. vendor                     ds.l    1                ; offset: $14 (20)        ;  whose  codec compressed this data 
  187. numChannels                 ds.w    1                ; offset: $18 (24)        ;  number of channels of sound 
  188. sampleSize                 ds.w    1                ; offset: $1A (26)        ;  number of bits per sample 
  189. compressionID             ds.w    1                ; offset: $1C (28)        ;  unused. set to zero. 
  190. packetSize                 ds.w    1                ; offset: $1E (30)        ;  unused. set to zero. 
  191. sampleRate                 ds.l    1                ; offset: $20 (32)        ;  sample rate sound is captured at 
  192. sizeof                     EQU *                    ; size:   $24 (36)
  193.                         ENDR
  194. ; typedef struct SoundDescription *        SoundDescriptionPtr
  195.  
  196. ; typedef SoundDescriptionPtr *            SoundDescriptionHandle
  197.  
  198. ;  version 1 of the SoundDescription record
  199. SoundDescriptionV1        RECORD 0
  200. ;  original fields
  201. desc                     ds        SoundDescription ; offset: $0 (0)
  202. ;  fixed compression ratio information
  203. samplesPerPacket         ds.l    1                ; offset: $24 (36)
  204. bytesPerPacket             ds.l    1                ; offset: $28 (40)
  205. bytesPerFrame             ds.l    1                ; offset: $2C (44)
  206. bytesPerSample             ds.l    1                ; offset: $30 (48)
  207. ;  additional atom based fields ([long size, long type, some data], repeat)
  208. sizeof                     EQU *                    ; size:   $34 (52)
  209.                         ENDR
  210. ; typedef struct SoundDescriptionV1 *    SoundDescriptionV1Ptr
  211.  
  212. ; typedef SoundDescriptionV1Ptr *        SoundDescriptionV1Handle
  213.  
  214. TextDescription            RECORD 0
  215. descSize                 ds.l    1                ; offset: $0 (0)        ;  Total size of TextDescription
  216. dataFormat                 ds.l    1                ; offset: $4 (4)        ;  'text'
  217. resvd1                     ds.l    1                ; offset: $8 (8)
  218. resvd2                     ds.w    1                ; offset: $C (12)
  219. dataRefIndex             ds.w    1                ; offset: $E (14)
  220. displayFlags             ds.l    1                ; offset: $10 (16)        ;  see enum below for flag values
  221. textJustification         ds.l    1                ; offset: $14 (20)        ;  Can be: teCenter,teFlush -Default,-Right,-Left
  222. bgColor                     ds        RGBColor        ; offset: $18 (24)        ;  Background color
  223. defaultTextBox             ds        Rect            ; offset: $1E (30)        ;  Location to place the text within the track bounds
  224. defaultStyle             ds        ScrpSTElement    ; offset: $26 (38)        ;  Default style (struct defined in TextEdit.h)
  225. defaultFontName             ds.b    1                ; offset: $3A (58) <-- really an array of length one ;  Font Name (pascal string - struct extended to fit) 
  226.                          ORG 60
  227. sizeof                     EQU *                    ; size:   $3C (60)
  228.                         ENDR
  229. ; typedef struct TextDescription *        TextDescriptionPtr
  230.  
  231. ; typedef TextDescriptionPtr *            TextDescriptionHandle
  232.  
  233. SpriteDescription        RECORD 0
  234. descSize                 ds.l    1                ; offset: $0 (0)        ;  total size of SpriteDescription including extra data 
  235. dataFormat                 ds.l    1                ; offset: $4 (4)        ;   
  236. resvd1                     ds.l    1                ; offset: $8 (8)        ;  reserved for apple use 
  237. resvd2                     ds.w    1                ; offset: $C (12)
  238. dataRefIndex             ds.w    1                ; offset: $E (14)
  239. version                     ds.l    1                ; offset: $10 (16)        ;  which version is this data 
  240. decompressorType         ds.l    1                ; offset: $14 (20)        ;  which decompressor to use, 0 for no decompression 
  241. sampleFlags                 ds.l    1                ; offset: $18 (24)        ;  how to interpret samples 
  242. sizeof                     EQU *                    ; size:   $1C (28)
  243.                         ENDR
  244. ; typedef struct SpriteDescription *    SpriteDescriptionPtr
  245.  
  246. ; typedef SpriteDescriptionPtr *        SpriteDescriptionHandle
  247.  
  248. ThreeDeeDescription        RECORD 0
  249. descSize                 ds.l    1                ; offset: $0 (0)        ;  total size of ThreeDeeDescription including extra data 
  250. dataFormat                 ds.l    1                ; offset: $4 (4)        ;   
  251. resvd1                     ds.l    1                ; offset: $8 (8)        ;  reserved for apple use 
  252. resvd2                     ds.w    1                ; offset: $C (12)
  253. dataRefIndex             ds.w    1                ; offset: $E (14)
  254. version                     ds.l    1                ; offset: $10 (16)        ;  which version is this data 
  255. rendererType             ds.l    1                ; offset: $14 (20)        ;  which renderer to use, 0 for default 
  256. decompressorType         ds.l    1                ; offset: $18 (24)        ;  which decompressor to use, 0 for default 
  257. sizeof                     EQU *                    ; size:   $1C (28)
  258.                         ENDR
  259. ; typedef struct ThreeDeeDescription *    ThreeDeeDescriptionPtr
  260.  
  261. ; typedef ThreeDeeDescriptionPtr *        ThreeDeeDescriptionHandle
  262.  
  263. DataReferenceRecord        RECORD 0
  264. dataRefType                 ds.l    1                ; offset: $0 (0)
  265. dataRef                     ds.l    1                ; offset: $4 (4)
  266. sizeof                     EQU *                    ; size:   $8 (8)
  267.                         ENDR
  268. ; typedef struct DataReferenceRecord *    DataReferencePtr
  269.  
  270. ; --------------------------
  271. ;  Music Sample Description
  272. ;--------------------------
  273.  
  274. MusicDescription        RECORD 0
  275. descSize                 ds.l    1                ; offset: $0 (0)
  276. dataFormat                 ds.l    1                ; offset: $4 (4)        ;  'musi' 
  277. resvd1                     ds.l    1                ; offset: $8 (8)
  278. resvd2                     ds.w    1                ; offset: $C (12)
  279. dataRefIndex             ds.w    1                ; offset: $E (14)
  280. musicFlags                 ds.l    1                ; offset: $10 (16)
  281. headerData                 ds.l    1                ; offset: $14 (20) <-- really an array of length one ;  variable size! 
  282. sizeof                     EQU *                    ; size:   $18 (24)
  283.                         ENDR
  284. ; typedef struct MusicDescription *        MusicDescriptionPtr
  285.  
  286. ; typedef MusicDescriptionPtr *            MusicDescriptionHandle
  287.  
  288.  
  289. kMusicFlagDontPlay2Soft            EQU        $00000001
  290. kMusicFlagDontSlaveToMovie        EQU        $00000002
  291.  
  292.  
  293. dfDontDisplay                    EQU        $01                    ; Don't display the text
  294. dfDontAutoScale                    EQU        $02                    ; Don't scale text as track bounds grows or shrinks
  295. dfClipToTextBox                    EQU        $04                    ; Clip update to the textbox
  296. dfUseMovieBGColor                EQU        $08                    ; Set text background to movie's background color
  297. dfShrinkTextBoxToFit            EQU        $10                    ; Compute minimum box to fit the sample
  298. dfScrollIn                        EQU        $20                    ; Scroll text in until last of text is in view 
  299. dfScrollOut                        EQU        $40                    ; Scroll text out until last of text is gone (if both set, scroll in then out)
  300. dfHorizScroll                    EQU        $80                    ; Scroll text horizontally (otherwise it's vertical)
  301. dfReverseScroll                    EQU        $0100                ; vert: scroll down rather than up; horiz: scroll backwards (justfication dependent)
  302. dfContinuousScroll                EQU        $0200                ; new samples cause previous samples to scroll out 
  303. dfFlowHoriz                        EQU        $0400                ; horiz scroll text flows in textbox rather than extend to right 
  304. dfContinuousKaraoke                EQU        $0800                ; ignore begin offset, hilite everything up to the end offset(karaoke)
  305. dfDropShadow                    EQU        $1000                ; display text with a drop shadow 
  306. dfAntiAlias                        EQU        $2000                ; attempt to display text anti aliased
  307. dfKeyedText                        EQU        $4000                ; key the text over background
  308. dfInverseHilite                    EQU        $8000                ; Use inverse hiliting rather than using hilite color
  309. dfTextColorHilite                EQU        $00010000            ; changes text color in place of hiliting. 
  310.  
  311. searchTextDontGoToFoundTime        EQU        $00010000
  312. searchTextDontHiliteFoundText    EQU        $00020000
  313. searchTextOneTrackOnly            EQU        $00040000
  314. searchTextEnabledTracksOnly        EQU        $00080000
  315.  
  316. k3DMediaRendererEntry            EQU        'rend'
  317. k3DMediaRendererName            EQU        'name'
  318. k3DMediaRendererCode            EQU        'rcod'
  319. ;  progress messages 
  320.  
  321. movieProgressOpen                EQU        0
  322. movieProgressUpdatePercent        EQU        1
  323. movieProgressClose                EQU        2
  324. ;  progress operations 
  325.  
  326. progressOpFlatten                EQU        1
  327. progressOpInsertTrackSegment    EQU        2
  328. progressOpInsertMovieSegment    EQU        3
  329. progressOpPaste                    EQU        4
  330. progressOpAddMovieSelection        EQU        5
  331. progressOpCopy                    EQU        6
  332. progressOpCut                    EQU        7
  333. progressOpLoadMovieIntoRam        EQU        8
  334. progressOpLoadTrackIntoRam        EQU        9
  335. progressOpLoadMediaIntoRam        EQU        10
  336. progressOpImportMovie            EQU        11
  337. progressOpExportMovie            EQU        12
  338.  
  339. mediaQualityDraft                EQU        $0000
  340. mediaQualityNormal                EQU        $0040
  341. mediaQualityBetter                EQU        $0080
  342. mediaQualityBest                EQU        $00C0
  343. ; *****
  344. ;    Interactive Sprites Support
  345. ;****
  346.  
  347. QTEventRecord            RECORD 0
  348. version                     ds.l    1                ; offset: $0 (0)
  349. eventType                 ds.l    1                ; offset: $4 (4)
  350. where                     ds        Point            ; offset: $8 (8)
  351. flags                     ds.l    1                ; offset: $C (12)
  352. sizeof                     EQU *                    ; size:   $10 (16)
  353.                         ENDR
  354. ; typedef struct QTEventRecord *        QTEventRecordPtr
  355.  
  356. QTAtomSpec                RECORD 0
  357. container                 ds.l    1                ; offset: $0 (0)
  358. atom                     ds.l    1                ; offset: $4 (4)
  359. sizeof                     EQU *                    ; size:   $8 (8)
  360.                         ENDR
  361. ; typedef struct QTAtomSpec *            QTAtomSpecPtr
  362.  
  363. ResolvedQTEventSpec        RECORD 0
  364. actionAtom                 ds        QTAtomSpec        ; offset: $0 (0)
  365. targetTrack                 ds.l    1                ; offset: $8 (8)
  366. targetRefCon             ds.l    1                ; offset: $C (12)
  367. sizeof                     EQU *                    ; size:   $10 (16)
  368.                         ENDR
  369. ; typedef struct ResolvedQTEventSpec *    ResolvedQTEventSpecPtr
  370.  
  371.  
  372. ;  action constants 
  373.  
  374. kActionMovieSetVolume            EQU        1024                ; (short movieVolume) 
  375. kActionMovieSetRate                EQU        1025                ; (Fixed rate) 
  376. kActionMovieSetLoopingFlags        EQU        1026                ; (long loopingFlags) 
  377. kActionMovieGoToTime            EQU        1027                ; (TimeValue time) 
  378. kActionMovieGoToTimeByName        EQU        1028                ; (Str255 timeName) 
  379. kActionMovieGoToBeginning        EQU        1029                ; no params 
  380. kActionMovieGoToEnd                EQU        1030                ; no params 
  381. kActionMovieStepForward            EQU        1031                ; no params 
  382. kActionMovieStepBackward        EQU        1032                ; no params 
  383. kActionMovieSetSelection        EQU        1033                ; (TimeValue startTime, TimeValue endTime) 
  384. kActionMovieSetSelectionByName    EQU        1034                ; (Str255 startTimeName, Str255 endTimeName) 
  385. kActionMoviePlaySelection        EQU        1035                ; (Boolean selectionOnly) 
  386. kActionMovieSetLanguage            EQU        1036                ; (long language) 
  387. kActionMovieChanged                EQU        1037                ; no params 
  388. kActionTrackSetVolume            EQU        2048                ; (short volume) 
  389. kActionTrackSetBalance            EQU        2049                ; (short balance) 
  390. kActionTrackSetEnabled            EQU        2050                ; (Boolean enabled) 
  391. kActionTrackSetMatrix            EQU        2051                ; (MatrixRecord matrix) 
  392. kActionTrackSetLayer            EQU        2052                ; (short layer) 
  393. kActionTrackSetClip                EQU        2053                ; (RgnHandle clip) 
  394. kActionSpriteSetMatrix            EQU        3072                ; (MatrixRecord matrix) 
  395. kActionSpriteSetImageIndex        EQU        3073                ; (short imageIndex) 
  396. kActionSpriteSetVisible            EQU        3074                ; (short visible) 
  397. kActionSpriteSetLayer            EQU        3075                ; (short layer) 
  398. kActionSpriteSetGraphicsMode    EQU        3076                ; (ModifierTrackGraphicsModeRecord graphicsMode) 
  399. kActionSpritePassMouseToCodec    EQU        3078                ; no params 
  400. kActionSpriteClickOnCodec        EQU        3079                ; Point localLoc 
  401. kActionSpriteTranslate            EQU        3080                ; (Fixed x, Fixed y, Boolean isAbsolute) 
  402. kActionSpriteScale                EQU        3081                ; (Fixed xScale, Fixed yScale) 
  403. kActionSpriteRotate                EQU        3082                ; (Fixed degrees) 
  404. kActionSpriteStretch            EQU        3083                ; (Fixed p1x, Fixed p1y, Fixed p2x, Fixed p2y, Fixed p3x, Fixed p3y, Fixed p4x, Fixed p4y) 
  405. kActionQTVRSetPanAngle            EQU        4096                ; (float panAngle) 
  406. kActionQTVRSetTiltAngle            EQU        4097                ; (float tiltAngle) 
  407. kActionQTVRSetFieldOfView        EQU        4098                ; (float fieldOfView) 
  408. kActionQTVRShowDefaultView        EQU        4099                ; no params 
  409. kActionQTVRGoToNodeID            EQU        4100                ; (UInt32 nodeID) 
  410. kActionMusicPlayNote            EQU        5120                ; (long sampleDescIndex, long partNumber, long delay, long pitch, long velocity, long duration) 
  411. kActionMusicSetController        EQU        5121                ; (long sampleDescIndex, long partNumber, long delay, long controller, long value) 
  412. kActionCase                        EQU        6144                ; [(CaseStatementActionAtoms)] 
  413. kActionWhile                    EQU        6145                ; [(WhileStatementActionAtoms)] 
  414. kActionGoToURL                    EQU        6146                ; (C string urlLink) 
  415. kActionSendQTEventToSprite        EQU        6147                ; ([(SpriteTargetAtoms)], QTEventRecord theEvent) 
  416. kActionDebugStr                    EQU        6148                ; (Str255 theString) 
  417. kActionPushCurrentTime            EQU        6149                ; no params 
  418. kActionPushCurrentTimeWithLabel    EQU        6150                ; (Str255 theLabel) 
  419. kActionPopAndGotoTopTime        EQU        6151                ; no params 
  420. kActionPopAndGotoLabeledTime    EQU        6152                ; (Str255 theLabel) 
  421. kActionSpriteTrackSetVariable    EQU        7168                ; (QTAtomID variableID, float value) 
  422. kActionApplicationNumberAndString EQU    8192                ; (long aNumber, Str255 aString ) 
  423.  
  424. kOperandExpression                EQU        1
  425. kOperandConstant                EQU        2
  426. kOperandMovieVolume                EQU        1024
  427. kOperandMovieRate                EQU        1025
  428. kOperandMovieIsLooping            EQU        1026
  429. kOperandMovieLoopIsPalindrome    EQU        1027
  430. kOperandMovieTime                EQU        1028
  431. kOperandTrackVolume                EQU        2048
  432. kOperandTrackBalance            EQU        2049
  433. kOperandTrackEnabled            EQU        2050
  434. kOperandTrackLayer                EQU        2051
  435. kOperandTrackWidth                EQU        2052
  436. kOperandTrackHeight                EQU        2053
  437. kOperandSpriteBoundsLeft        EQU        3072
  438. kOperandSpriteBoundsTop            EQU        3073
  439. kOperandSpriteBoundsRight        EQU        3074
  440. kOperandSpriteBoundsBottom        EQU        3075
  441. kOperandSpriteImageIndex        EQU        3076
  442. kOperandSpriteVisible            EQU        3077
  443. kOperandSpriteLayer                EQU        3078
  444. kOperandSpriteTrackVariable        EQU        3079                ; [QTAtomID variableID] 
  445. kOperandSpriteTrackNumSprites    EQU        3080
  446. kOperandSpriteTrackNumImages    EQU        3081
  447. kOperandSpriteID                EQU        3082
  448. kOperandSpriteIndex                EQU        3083
  449. kOperandSpriteFirstCornerX        EQU        3084
  450. kOperandSpriteFirstCornerY        EQU        3085
  451. kOperandSpriteSecondCornerX        EQU        3086
  452. kOperandSpriteSecondCornerY        EQU        3087
  453. kOperandSpriteThirdCornerX        EQU        3088
  454. kOperandSpriteThirdCornerY        EQU        3089
  455. kOperandSpriteFourthCornerX        EQU        3090
  456. kOperandSpriteFourthCornerY        EQU        3091
  457. kOperandSpriteImageRegistrationPointX EQU 3092
  458. kOperandSpriteImageRegistrationPointY EQU 3093
  459. kOperandQTVRPanAngle            EQU        4096
  460. kOperandQTVRTiltAngle            EQU        4097
  461. kOperandQTVRFieldOfView            EQU        4098
  462. kOperandQTVRNodeID                EQU        4099
  463. kOperandMouseLocalHLoc            EQU        5120                ; [TargetAtoms aTrack] 
  464. kOperandMouseLocalVLoc            EQU        5121                ; [TargetAtoms aTrack] 
  465. kOperandKeyIsDown                EQU        5122                ; [short modKeys, char asciiValue] 
  466. kOperandRandom                    EQU        5123                ; [short min, short max] 
  467.  
  468. kFirstMovieAction                EQU        1024
  469. kLastMovieAction                EQU        1037
  470. kFirstTrackAction                EQU        2048
  471. kLastTrackAction                EQU        2053
  472. kFirstSpriteAction                EQU        3072
  473. kLastSpriteAction                EQU        3083
  474. kFirstQTVRAction                EQU        4096
  475. kLastQTVRAction                    EQU        4100
  476. kFirstMusicAction                EQU        5120
  477. kLastMusicAction                EQU        5121
  478. kFirstSystemAction                EQU        6144
  479. kLastSystemAction                EQU        6152
  480. kFirstSpriteTrackAction            EQU        7168
  481. kLastSpriteTrackAction            EQU        7168
  482. kFirstApplicationAction            EQU        8192
  483. kLastApplicationAction            EQU        8192
  484. kFirstAction                    EQU        1024
  485. kLastAction                        EQU        8192
  486.  
  487. ;  target atom types
  488.  
  489. kTargetMovie                    EQU        'moov'                ; no data 
  490. kTargetTrackName                EQU        'trna'                ; (PString trackName) 
  491. kTargetTrackID                    EQU        'trid'                ; (long trackID) 
  492. kTargetTrackType                EQU        'trty'                ; (OSType trackType) 
  493. kTargetTrackIndex                EQU        'trin'                ; (long trackIndex) 
  494. kTargetSpriteName                EQU        'spna'                ; (PString spriteName) 
  495. kTargetSpriteID                    EQU        'spid'                ; (QTAtomID spriteID) 
  496. kTargetSpriteIndex                EQU        'spin'                ; (short spriteIndex) 
  497. ;  action container atom types
  498.  
  499. kQTEventType                    EQU        'evnt'
  500. kAction                            EQU        'actn'
  501. kWhichAction                    EQU        'whic'
  502. kActionParameter                EQU        'parm'
  503. kActionTarget                    EQU        'targ'
  504. kActionFlags                    EQU        'flag'
  505. kActionParameterMinValue        EQU        'minv'
  506. kActionParameterMaxValue        EQU        'maxv'
  507. kActionListAtomType                EQU        'list'
  508. kExpressionContainerAtomType    EQU        'expr'
  509. kConditionalAtomType            EQU        'test'
  510. kOperatorAtomType                EQU        'oper'
  511. kOperandAtomType                EQU        'oprn'
  512. kCommentAtomType                EQU        'why '
  513. ;  QTEvent types 
  514.  
  515. kQTEventMouseClick                EQU        'clik'
  516. kQTEventMouseClickEnd            EQU        'cend'
  517. kQTEventMouseClickEndTriggerButton EQU    'trig'
  518. kQTEventMouseEnter                EQU        'entr'
  519. kQTEventMouseExit                EQU        'exit'
  520. kQTEventFrameLoaded                EQU        'fram'
  521. kQTEventIdle                    EQU        'idle'
  522. kQTEventRequestToModifyMovie    EQU        'reqm'
  523. ;  flags for the kActionFlags atom 
  524.  
  525. kActionFlagActionIsDelta        EQU        $00000002
  526. kActionFlagParameterWrapsAround    EQU        $00000004
  527. kActionFlagActionIsToggle        EQU        $00000008
  528. ;  constants for kOperatorAtomType IDs (operator types)
  529.  
  530. kOperatorAdd                    EQU        'add '
  531. kOperatorSubtract                EQU        'sub '
  532. kOperatorMultiply                EQU        'mult'
  533. kOperatorDivide                    EQU        'div '
  534. kOperatorOr                        EQU        'or  '
  535. kOperatorAnd                    EQU        'and '
  536. kOperatorNot                    EQU        'not '
  537. kOperatorLessThan                EQU        '<   '
  538. kOperatorLessThanEqualTo        EQU        '<=  '
  539. kOperatorEqualTo                EQU        '=   '
  540. kOperatorNotEqualTo                EQU        '!=  '
  541. kOperatorGreaterThan            EQU        '>   '
  542. kOperatorGreaterThanEqualTo        EQU        '>=  '
  543. kOperatorModulo                    EQU        'mod '
  544. kOperatorIntegerDivide            EQU        'idiv'
  545. kOperatorAbsoluteValue            EQU        'abs '
  546. kOperatorNegate                    EQU        'neg '
  547. ;  constants for MediaPropertiesAtom
  548.  
  549. kMediaPropertyNonLinearAtomType    EQU        'nonl'
  550. kMediaPropertyHasActions        EQU        105
  551. ; typedef ComponentInstance             MediaHandler
  552.  
  553. ; typedef ComponentInstance             DataHandler
  554.  
  555. ; typedef Component                     MediaHandlerComponent
  556.  
  557. ; typedef Component                     DataHandlerComponent
  558.  
  559. ; typedef ComponentResult                 HandlerError
  560.  
  561. ;  TimeBase equates 
  562. ; typedef long                             TimeValue
  563.  
  564. ; typedef long                             TimeScale
  565.  
  566. CompTimeValue            RECORD 0
  567. f                         ds        wide
  568. sizeof                     EQU *                    ; size:   $8 (8)
  569.                         ENDR
  570.  
  571.  
  572.  
  573. loopTimeBase                    EQU        1
  574. palindromeLoopTimeBase            EQU        2
  575. maintainTimeBaseZero            EQU        4
  576. ; typedef unsigned long                 TimeBaseFlags
  577.  
  578. TimeBaseRecord            RECORD 0
  579. data                     ds.l    1                ; offset: $0 (0) <-- really an array of length one
  580. sizeof                     EQU *                    ; size:   $4 (4)
  581.                         ENDR
  582. ; typedef struct TimeBaseRecord *        TimeBase
  583.  
  584. CallBackRecord            RECORD 0
  585. data                     ds.l    1                ; offset: $0 (0) <-- really an array of length one
  586. sizeof                     EQU *                    ; size:   $4 (4)
  587.                         ENDR
  588. ; typedef struct CallBackRecord *        QTCallBack
  589.  
  590. TimeRecord                RECORD 0
  591. value                     ds        CompTimeValue    ; offset: $0 (0)        ;  units 
  592. scale                     ds.l    1                ; offset: $8 (8)        ;  units per second 
  593. base                     ds.l    1                ; offset: $C (12)
  594. sizeof                     EQU *                    ; size:   $10 (16)
  595.                         ENDR
  596. ;  CallBack equates 
  597.  
  598. triggerTimeFwd                    EQU        $0001                ; when curTime exceeds triggerTime going forward 
  599. triggerTimeBwd                    EQU        $0002                ; when curTime exceeds triggerTime going backwards 
  600. triggerTimeEither                EQU        $0003                ; when curTime exceeds triggerTime going either direction 
  601. triggerRateLT                    EQU        $0004                ; when rate changes to less than trigger value 
  602. triggerRateGT                    EQU        $0008                ; when rate changes to greater than trigger value 
  603. triggerRateEqual                EQU        $0010                ; when rate changes to equal trigger value 
  604. triggerRateLTE                    EQU        $0014
  605. triggerRateGTE                    EQU        $0018
  606. triggerRateNotEqual                EQU        $001C
  607. triggerRateChange                EQU        0
  608. triggerAtStart                    EQU        $0001
  609. triggerAtStop                    EQU        $0002
  610. ; typedef unsigned short                 QTCallBackFlags
  611.  
  612.  
  613. timeBaseBeforeStartTime            EQU        1
  614. timeBaseAfterStopTime            EQU        2
  615. ; typedef unsigned long                 TimeBaseStatus
  616.  
  617.  
  618. callBackAtTime                    EQU        1
  619. callBackAtRate                    EQU        2
  620. callBackAtTimeJump                EQU        3
  621. callBackAtExtremes                EQU        4
  622. callBackAtInterrupt                EQU        $8000
  623. callBackAtDeferredTask            EQU        $4000
  624. ; typedef unsigned short                 QTCallBackType
  625.  
  626.  
  627. qtcbNeedsRateChanges            EQU        1                    ; wants to know about rate changes 
  628. qtcbNeedsTimeChanges            EQU        2                    ; wants to know about time changes 
  629. qtcbNeedsStartStopChanges        EQU        4                    ; wants to know when TimeBase start/stop is changed
  630. QTCallBackHeader        RECORD 0
  631. callBackFlags             ds.l    1                ; offset: $0 (0)
  632. reserved1                 ds.l    1                ; offset: $4 (4)
  633. qtPrivate                 ds.b    40                ; offset: $8 (8)
  634. sizeof                     EQU *                    ; size:   $30 (48)
  635.                         ENDR
  636. QTSyncTaskRecord        RECORD 0
  637. qLink                     ds.l    1                ; offset: $0 (0)
  638. proc                     ds.l    1                ; offset: $4 (4)
  639. sizeof                     EQU *                    ; size:   $8 (8)
  640.                         ENDR
  641. ; typedef struct QTSyncTaskRecord *        QTSyncTaskPtr
  642.  
  643.  
  644. keepInRam                        EQU        $01                    ; load and make non-purgable
  645. unkeepInRam                        EQU        $02                    ; mark as purgable
  646. flushFromRam                    EQU        $04                    ; empty those handles
  647. loadForwardTrackEdits            EQU        $08                    ;    load track edits into ram for playing forward
  648. loadBackwardTrackEdits            EQU        $10                    ;    load track edits into ram for playing in reverse
  649.  
  650. newMovieActive                    EQU        $01
  651. newMovieDontResolveDataRefs        EQU        $02
  652. newMovieDontAskUnresolvedDataRefs EQU    $04
  653. newMovieDontAutoAlternates        EQU        $08
  654. newMovieDontUpdateForeBackPointers EQU    $10
  655. ;  track usage bits 
  656.  
  657. trackUsageInMovie                EQU        $02
  658. trackUsageInPreview                EQU        $04
  659. trackUsageInPoster                EQU        $08
  660. ;  Add/GetMediaSample flags 
  661.  
  662. mediaSampleNotSync                EQU        $01                    ; sample is not a sync sample (eg. is frame differenced 
  663. mediaSampleShadowSync            EQU        $02                    ; sample is a shadow sync 
  664.  
  665. pasteInParallel                    EQU        $01
  666. showUserSettingsDialog            EQU        $02
  667. movieToFileOnlyExport            EQU        $04
  668. movieFileSpecValid                EQU        $08
  669.  
  670. nextTimeMediaSample                EQU        $01
  671. nextTimeMediaEdit                EQU        $02
  672. nextTimeTrackEdit                EQU        $04
  673. nextTimeSyncSample                EQU        $08
  674. nextTimeStep                    EQU        $10
  675. nextTimeEdgeOK                    EQU        $4000
  676. nextTimeIgnoreActiveSegment        EQU        $8000
  677. ; typedef unsigned short                 nextTimeFlagsEnum
  678.  
  679.  
  680. createMovieFileDeleteCurFile    EQU        $80000000
  681. createMovieFileDontCreateMovie    EQU        $40000000
  682. createMovieFileDontOpenFile        EQU        $20000000
  683. createMovieFileDontCreateResFile EQU    $10000000
  684. ; typedef unsigned long                 createMovieFileFlagsEnum
  685.  
  686.  
  687. flattenAddMovieToDataFork        EQU        $00000001
  688. flattenActiveTracksOnly            EQU        $00000004
  689. flattenDontInterleaveFlatten    EQU        $00000008
  690. flattenFSSpecPtrIsDataRefRecordPtr EQU    $00000010
  691. flattenCompressMovieResource    EQU        $00000020
  692. flattenForceMovieResourceBeforeMovieData EQU $00000040
  693. ; typedef unsigned long                 movieFlattenFlagsEnum
  694.  
  695.  
  696. movieInDataForkResID            EQU        -1                    ; magic res ID 
  697.  
  698. mcTopLeftMovie                    EQU        $01                    ; usually centered 
  699. mcScaleMovieToFit                EQU        $02                    ; usually only scales down 
  700. mcWithBadge                        EQU        $04                    ; give me a badge 
  701. mcNotVisible                    EQU        $08                    ; don't show controller 
  702. mcWithFrame                        EQU        $10                    ; gimme a frame 
  703.  
  704. movieScrapDontZeroScrap            EQU        $01
  705. movieScrapOnlyPutMovie            EQU        $02
  706.  
  707. dataRefSelfReference            EQU        $01
  708. dataRefWasNotResolved            EQU        $02
  709. ; typedef unsigned long                 dataRefAttributesFlags
  710.  
  711.  
  712. hintsScrubMode                    EQU        $01                    ; mask == && (if flags == scrub on, flags != scrub off) 
  713. hintsLoop                        EQU        $02
  714. hintsDontPurge                    EQU        $04
  715. hintsUseScreenBuffer            EQU        $20
  716. hintsAllowInterlace                EQU        $40
  717. hintsUseSoundInterp                EQU        $80
  718. hintsHighQuality                EQU        $0100                ; slooooow 
  719. hintsPalindrome                    EQU        $0200
  720. hintsInactive                    EQU        $0800
  721. hintsOffscreen                    EQU        $1000
  722. hintsDontDraw                    EQU        $2000
  723. hintsAllowBlacklining            EQU        $4000
  724. ; typedef unsigned long                 playHintsEnum
  725.  
  726.  
  727. mediaHandlerFlagBaseClient        EQU        1
  728. ; typedef unsigned long                 mediaHandlerFlagsEnum
  729.  
  730.  
  731. movieTrackMediaType                EQU        $01
  732. movieTrackCharacteristic        EQU        $02
  733. movieTrackEnabledOnly            EQU        $04
  734. SampleReferenceRecord    RECORD 0
  735. dataOffset                 ds.l    1                ; offset: $0 (0)
  736. dataSize                 ds.l    1                ; offset: $4 (4)
  737. durationPerSample         ds.l    1                ; offset: $8 (8)
  738. numberOfSamples             ds.l    1                ; offset: $C (12)
  739. sampleFlags                 ds.w    1                ; offset: $10 (16)
  740. sizeof                     EQU *                    ; size:   $12 (18)
  741.                         ENDR
  742. ; typedef struct SampleReferenceRecord * SampleReferencePtr
  743.  
  744.  
  745. ; *************************
  746. ;* Initialization Routines 
  747. ;*************************
  748.  
  749. ;
  750. ; pascal void CheckQuickTimeRegistration(void *param1, long param2)
  751. ;
  752.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  753.         Macro
  754.         _CheckQuickTimeRegistration
  755.             move.w              #$02DA,D0
  756.             dc.w                $AAAA
  757.         EndM
  758.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  759.         IMPORT_CFM_FUNCTION CheckQuickTimeRegistration
  760.     ENDIF
  761.  
  762. ;
  763. ; pascal OSErr EnterMovies(void )
  764. ;
  765.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  766.         Macro
  767.         _EnterMovies
  768.             moveq               #1,D0
  769.             dc.w                $AAAA
  770.         EndM
  771.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  772.         IMPORT_CFM_FUNCTION EnterMovies
  773.     ENDIF
  774.  
  775. ;
  776. ; pascal void ExitMovies(void )
  777. ;
  778.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  779.         Macro
  780.         _ExitMovies
  781.             moveq               #2,D0
  782.             dc.w                $AAAA
  783.         EndM
  784.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  785.         IMPORT_CFM_FUNCTION ExitMovies
  786.     ENDIF
  787.  
  788. ; *************************
  789. ;* Error Routines 
  790. ;*************************
  791.  
  792.  
  793. ;
  794. ; pascal OSErr GetMoviesError(void )
  795. ;
  796.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  797.         Macro
  798.         _GetMoviesError
  799.             moveq               #3,D0
  800.             dc.w                $AAAA
  801.         EndM
  802.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  803.         IMPORT_CFM_FUNCTION GetMoviesError
  804.     ENDIF
  805.  
  806. ;
  807. ; pascal void ClearMoviesStickyError(void )
  808. ;
  809.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  810.         Macro
  811.         _ClearMoviesStickyError
  812.             move.w              #$00DE,D0
  813.             dc.w                $AAAA
  814.         EndM
  815.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  816.         IMPORT_CFM_FUNCTION ClearMoviesStickyError
  817.     ENDIF
  818.  
  819. ;
  820. ; pascal OSErr GetMoviesStickyError(void )
  821. ;
  822.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  823.         Macro
  824.         _GetMoviesStickyError
  825.             moveq               #4,D0
  826.             dc.w                $AAAA
  827.         EndM
  828.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  829.         IMPORT_CFM_FUNCTION GetMoviesStickyError
  830.     ENDIF
  831.  
  832. ;
  833. ; pascal void SetMoviesErrorProc(MoviesErrorUPP errProc, long refcon)
  834. ;
  835.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  836.         Macro
  837.         _SetMoviesErrorProc
  838.             move.w              #$00EF,D0
  839.             dc.w                $AAAA
  840.         EndM
  841.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  842.         IMPORT_CFM_FUNCTION SetMoviesErrorProc
  843.     ENDIF
  844.  
  845. ; *************************
  846. ;* Idle Routines 
  847. ;*************************
  848.  
  849. ;
  850. ; pascal void MoviesTask(Movie theMovie, long maxMilliSecToUse)
  851. ;
  852.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  853.         Macro
  854.         _MoviesTask
  855.             moveq               #5,D0
  856.             dc.w                $AAAA
  857.         EndM
  858.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  859.         IMPORT_CFM_FUNCTION MoviesTask
  860.     ENDIF
  861.  
  862. ;
  863. ; pascal OSErr PrerollMovie(Movie theMovie, TimeValue time, Fixed Rate)
  864. ;
  865.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  866.         Macro
  867.         _PrerollMovie
  868.             moveq               #6,D0
  869.             dc.w                $AAAA
  870.         EndM
  871.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  872.         IMPORT_CFM_FUNCTION PrerollMovie
  873.     ENDIF
  874.  
  875. ;
  876. ; pascal OSErr LoadMovieIntoRam(Movie theMovie, TimeValue time, TimeValue duration, long flags)
  877. ;
  878.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  879.         Macro
  880.         _LoadMovieIntoRam
  881.             moveq               #7,D0
  882.             dc.w                $AAAA
  883.         EndM
  884.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  885.         IMPORT_CFM_FUNCTION LoadMovieIntoRam
  886.     ENDIF
  887.  
  888. ;
  889. ; pascal OSErr LoadTrackIntoRam(Track theTrack, TimeValue time, TimeValue duration, long flags)
  890. ;
  891.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  892.         Macro
  893.         _LoadTrackIntoRam
  894.             move.w              #$016E,D0
  895.             dc.w                $AAAA
  896.         EndM
  897.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  898.         IMPORT_CFM_FUNCTION LoadTrackIntoRam
  899.     ENDIF
  900.  
  901. ;
  902. ; pascal OSErr LoadMediaIntoRam(Media theMedia, TimeValue time, TimeValue duration, long flags)
  903. ;
  904.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  905.         Macro
  906.         _LoadMediaIntoRam
  907.             moveq               #8,D0
  908.             dc.w                $AAAA
  909.         EndM
  910.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  911.         IMPORT_CFM_FUNCTION LoadMediaIntoRam
  912.     ENDIF
  913.  
  914. ;
  915. ; pascal void SetMovieActive(Movie theMovie, Boolean active)
  916. ;
  917.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  918.         Macro
  919.         _SetMovieActive
  920.             moveq               #9,D0
  921.             dc.w                $AAAA
  922.         EndM
  923.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  924.         IMPORT_CFM_FUNCTION SetMovieActive
  925.     ENDIF
  926.  
  927. ;
  928. ; pascal Boolean GetMovieActive(Movie theMovie)
  929. ;
  930.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  931.         Macro
  932.         _GetMovieActive
  933.             moveq               #10,D0
  934.             dc.w                $AAAA
  935.         EndM
  936.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  937.         IMPORT_CFM_FUNCTION GetMovieActive
  938.     ENDIF
  939.  
  940. ; *************************
  941. ;* calls for playing movies, previews, posters
  942. ;*************************
  943.  
  944. ;
  945. ; pascal void StartMovie(Movie theMovie)
  946. ;
  947.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  948.         Macro
  949.         _StartMovie
  950.             moveq               #11,D0
  951.             dc.w                $AAAA
  952.         EndM
  953.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  954.         IMPORT_CFM_FUNCTION StartMovie
  955.     ENDIF
  956.  
  957. ;
  958. ; pascal void StopMovie(Movie theMovie)
  959. ;
  960.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  961.         Macro
  962.         _StopMovie
  963.             moveq               #12,D0
  964.             dc.w                $AAAA
  965.         EndM
  966.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  967.         IMPORT_CFM_FUNCTION StopMovie
  968.     ENDIF
  969.  
  970. ;
  971. ; pascal void GoToBeginningOfMovie(Movie theMovie)
  972. ;
  973.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  974.         Macro
  975.         _GoToBeginningOfMovie
  976.             moveq               #13,D0
  977.             dc.w                $AAAA
  978.         EndM
  979.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  980.         IMPORT_CFM_FUNCTION GoToBeginningOfMovie
  981.     ENDIF
  982.  
  983. ;
  984. ; pascal void GoToEndOfMovie(Movie theMovie)
  985. ;
  986.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  987.         Macro
  988.         _GoToEndOfMovie
  989.             moveq               #14,D0
  990.             dc.w                $AAAA
  991.         EndM
  992.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  993.         IMPORT_CFM_FUNCTION GoToEndOfMovie
  994.     ENDIF
  995.  
  996. ;
  997. ; pascal Boolean IsMovieDone(Movie theMovie)
  998. ;
  999.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1000.         Macro
  1001.         _IsMovieDone
  1002.             move.w              #$00DD,D0
  1003.             dc.w                $AAAA
  1004.         EndM
  1005.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1006.         IMPORT_CFM_FUNCTION IsMovieDone
  1007.     ENDIF
  1008.  
  1009. ;
  1010. ; pascal Boolean GetMoviePreviewMode(Movie theMovie)
  1011. ;
  1012.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1013.         Macro
  1014.         _GetMoviePreviewMode
  1015.             moveq               #15,D0
  1016.             dc.w                $AAAA
  1017.         EndM
  1018.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1019.         IMPORT_CFM_FUNCTION GetMoviePreviewMode
  1020.     ENDIF
  1021.  
  1022. ;
  1023. ; pascal void SetMoviePreviewMode(Movie theMovie, Boolean usePreview)
  1024. ;
  1025.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1026.         Macro
  1027.         _SetMoviePreviewMode
  1028.             moveq               #16,D0
  1029.             dc.w                $AAAA
  1030.         EndM
  1031.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1032.         IMPORT_CFM_FUNCTION SetMoviePreviewMode
  1033.     ENDIF
  1034.  
  1035. ;
  1036. ; pascal void ShowMoviePoster(Movie theMovie)
  1037. ;
  1038.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1039.         Macro
  1040.         _ShowMoviePoster
  1041.             moveq               #17,D0
  1042.             dc.w                $AAAA
  1043.         EndM
  1044.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1045.         IMPORT_CFM_FUNCTION ShowMoviePoster
  1046.     ENDIF
  1047.  
  1048. ;
  1049. ; pascal void PlayMoviePreview(Movie theMovie, MoviePreviewCallOutUPP callOutProc, long refcon)
  1050. ;
  1051.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1052.         Macro
  1053.         _PlayMoviePreview
  1054.             move.w              #$00F2,D0
  1055.             dc.w                $AAAA
  1056.         EndM
  1057.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1058.         IMPORT_CFM_FUNCTION PlayMoviePreview
  1059.     ENDIF
  1060.  
  1061. ; *************************
  1062. ;* calls for controlling movies & tracks which are playing
  1063. ;*************************
  1064.  
  1065. ;
  1066. ; pascal TimeBase GetMovieTimeBase(Movie theMovie)
  1067. ;
  1068.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1069.         Macro
  1070.         _GetMovieTimeBase
  1071.             moveq               #18,D0
  1072.             dc.w                $AAAA
  1073.         EndM
  1074.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1075.         IMPORT_CFM_FUNCTION GetMovieTimeBase
  1076.     ENDIF
  1077.  
  1078. ;
  1079. ; pascal void SetMovieMasterTimeBase(Movie theMovie, TimeBase tb, const TimeRecord *slaveZero)
  1080. ;
  1081.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1082.         Macro
  1083.         _SetMovieMasterTimeBase
  1084.             move.w              #$0167,D0
  1085.             dc.w                $AAAA
  1086.         EndM
  1087.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1088.         IMPORT_CFM_FUNCTION SetMovieMasterTimeBase
  1089.     ENDIF
  1090.  
  1091. ;
  1092. ; pascal void SetMovieMasterClock(Movie theMovie, Component clockMeister, const TimeRecord *slaveZero)
  1093. ;
  1094.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1095.         Macro
  1096.         _SetMovieMasterClock
  1097.             move.w              #$0168,D0
  1098.             dc.w                $AAAA
  1099.         EndM
  1100.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1101.         IMPORT_CFM_FUNCTION SetMovieMasterClock
  1102.     ENDIF
  1103.  
  1104. ;
  1105. ; pascal void GetMovieGWorld(Movie theMovie, CGrafPtr *port, GDHandle *gdh)
  1106. ;
  1107.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1108.         Macro
  1109.         _GetMovieGWorld
  1110.             moveq               #21,D0
  1111.             dc.w                $AAAA
  1112.         EndM
  1113.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1114.         IMPORT_CFM_FUNCTION GetMovieGWorld
  1115.     ENDIF
  1116.  
  1117. ;
  1118. ; pascal void SetMovieGWorld(Movie theMovie, CGrafPtr port, GDHandle gdh)
  1119. ;
  1120.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1121.         Macro
  1122.         _SetMovieGWorld
  1123.             moveq               #22,D0
  1124.             dc.w                $AAAA
  1125.         EndM
  1126.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1127.         IMPORT_CFM_FUNCTION SetMovieGWorld
  1128.     ENDIF
  1129.  
  1130.  
  1131. movieDrawingCallWhenChanged        EQU        0
  1132. movieDrawingCallAlways            EQU        1
  1133. ;
  1134. ; pascal void SetMovieDrawingCompleteProc(Movie theMovie, long flags, MovieDrawingCompleteUPP proc, long refCon)
  1135. ;
  1136.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1137.         Macro
  1138.         _SetMovieDrawingCompleteProc
  1139.             move.w              #$01DE,D0
  1140.             dc.w                $AAAA
  1141.         EndM
  1142.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1143.         IMPORT_CFM_FUNCTION SetMovieDrawingCompleteProc
  1144.     ENDIF
  1145.  
  1146.  
  1147. ;
  1148. ; pascal void GetMovieNaturalBoundsRect(Movie theMovie, Rect *naturalBounds)
  1149. ;
  1150.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1151.         Macro
  1152.         _GetMovieNaturalBoundsRect
  1153.             move.w              #$022C,D0
  1154.             dc.w                $AAAA
  1155.         EndM
  1156.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1157.         IMPORT_CFM_FUNCTION GetMovieNaturalBoundsRect
  1158.     ENDIF
  1159.  
  1160. ;
  1161. ; pascal Track GetNextTrackForCompositing(Movie theMovie, Track theTrack)
  1162. ;
  1163.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1164.         Macro
  1165.         _GetNextTrackForCompositing
  1166.             move.w              #$01FA,D0
  1167.             dc.w                $AAAA
  1168.         EndM
  1169.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1170.         IMPORT_CFM_FUNCTION GetNextTrackForCompositing
  1171.     ENDIF
  1172.  
  1173. ;
  1174. ; pascal Track GetPrevTrackForCompositing(Movie theMovie, Track theTrack)
  1175. ;
  1176.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1177.         Macro
  1178.         _GetPrevTrackForCompositing
  1179.             move.w              #$01FB,D0
  1180.             dc.w                $AAAA
  1181.         EndM
  1182.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1183.         IMPORT_CFM_FUNCTION GetPrevTrackForCompositing
  1184.     ENDIF
  1185.  
  1186. ;
  1187. ; pascal void SetTrackGWorld(Track theTrack, CGrafPtr port, GDHandle gdh, TrackTransferUPP proc, long refCon)
  1188. ;
  1189.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1190.         Macro
  1191.         _SetTrackGWorld
  1192.             move.w              #$009D,D0
  1193.             dc.w                $AAAA
  1194.         EndM
  1195.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1196.         IMPORT_CFM_FUNCTION SetTrackGWorld
  1197.     ENDIF
  1198.  
  1199. ;
  1200. ; pascal PicHandle GetMoviePict(Movie theMovie, TimeValue time)
  1201. ;
  1202.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1203.         Macro
  1204.         _GetMoviePict
  1205.             moveq               #29,D0
  1206.             dc.w                $AAAA
  1207.         EndM
  1208.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1209.         IMPORT_CFM_FUNCTION GetMoviePict
  1210.     ENDIF
  1211.  
  1212. ;
  1213. ; pascal PicHandle GetTrackPict(Track theTrack, TimeValue time)
  1214. ;
  1215.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1216.         Macro
  1217.         _GetTrackPict
  1218.             moveq               #30,D0
  1219.             dc.w                $AAAA
  1220.         EndM
  1221.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1222.         IMPORT_CFM_FUNCTION GetTrackPict
  1223.     ENDIF
  1224.  
  1225. ;
  1226. ; pascal PicHandle GetMoviePosterPict(Movie theMovie)
  1227. ;
  1228.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1229.         Macro
  1230.         _GetMoviePosterPict
  1231.             move.w              #$00F7,D0
  1232.             dc.w                $AAAA
  1233.         EndM
  1234.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1235.         IMPORT_CFM_FUNCTION GetMoviePosterPict
  1236.     ENDIF
  1237.  
  1238. ;  called between Begin & EndUpdate 
  1239. ;
  1240. ; pascal OSErr UpdateMovie(Movie theMovie)
  1241. ;
  1242.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1243.         Macro
  1244.         _UpdateMovie
  1245.             moveq               #31,D0
  1246.             dc.w                $AAAA
  1247.         EndM
  1248.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1249.         IMPORT_CFM_FUNCTION UpdateMovie
  1250.     ENDIF
  1251.  
  1252. ;
  1253. ; pascal OSErr InvalidateMovieRegion(Movie theMovie, RgnHandle invalidRgn)
  1254. ;
  1255.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1256.         Macro
  1257.         _InvalidateMovieRegion
  1258.             move.w              #$022A,D0
  1259.             dc.w                $AAAA
  1260.         EndM
  1261.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1262.         IMPORT_CFM_FUNCTION InvalidateMovieRegion
  1263.     ENDIF
  1264.  
  1265. ; *** spatial movie routines ***
  1266. ;
  1267. ; pascal void GetMovieBox(Movie theMovie, Rect *boxRect)
  1268. ;
  1269.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1270.         Macro
  1271.         _GetMovieBox
  1272.             move.w              #$00F9,D0
  1273.             dc.w                $AAAA
  1274.         EndM
  1275.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1276.         IMPORT_CFM_FUNCTION GetMovieBox
  1277.     ENDIF
  1278.  
  1279. ;
  1280. ; pascal void SetMovieBox(Movie theMovie, const Rect *boxRect)
  1281. ;
  1282.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1283.         Macro
  1284.         _SetMovieBox
  1285.             move.w              #$00FA,D0
  1286.             dc.w                $AAAA
  1287.         EndM
  1288.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1289.         IMPORT_CFM_FUNCTION SetMovieBox
  1290.     ENDIF
  1291.  
  1292. ; * movie display clip 
  1293. ;
  1294. ; pascal RgnHandle GetMovieDisplayClipRgn(Movie theMovie)
  1295. ;
  1296.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1297.         Macro
  1298.         _GetMovieDisplayClipRgn
  1299.             move.w              #$00FC,D0
  1300.             dc.w                $AAAA
  1301.         EndM
  1302.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1303.         IMPORT_CFM_FUNCTION GetMovieDisplayClipRgn
  1304.     ENDIF
  1305.  
  1306. ;
  1307. ; pascal void SetMovieDisplayClipRgn(Movie theMovie, RgnHandle theClip)
  1308. ;
  1309.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1310.         Macro
  1311.         _SetMovieDisplayClipRgn
  1312.             move.w              #$00FD,D0
  1313.             dc.w                $AAAA
  1314.         EndM
  1315.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1316.         IMPORT_CFM_FUNCTION SetMovieDisplayClipRgn
  1317.     ENDIF
  1318.  
  1319. ; * movie src clip 
  1320. ;
  1321. ; pascal RgnHandle GetMovieClipRgn(Movie theMovie)
  1322. ;
  1323.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1324.         Macro
  1325.         _GetMovieClipRgn
  1326.             move.w              #$0100,D0
  1327.             dc.w                $AAAA
  1328.         EndM
  1329.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1330.         IMPORT_CFM_FUNCTION GetMovieClipRgn
  1331.     ENDIF
  1332.  
  1333. ;
  1334. ; pascal void SetMovieClipRgn(Movie theMovie, RgnHandle theClip)
  1335. ;
  1336.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1337.         Macro
  1338.         _SetMovieClipRgn
  1339.             move.w              #$0101,D0
  1340.             dc.w                $AAAA
  1341.         EndM
  1342.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1343.         IMPORT_CFM_FUNCTION SetMovieClipRgn
  1344.     ENDIF
  1345.  
  1346. ; * track src clip 
  1347. ;
  1348. ; pascal RgnHandle GetTrackClipRgn(Track theTrack)
  1349. ;
  1350.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1351.         Macro
  1352.         _GetTrackClipRgn
  1353.             move.w              #$0102,D0
  1354.             dc.w                $AAAA
  1355.         EndM
  1356.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1357.         IMPORT_CFM_FUNCTION GetTrackClipRgn
  1358.     ENDIF
  1359.  
  1360. ;
  1361. ; pascal void SetTrackClipRgn(Track theTrack, RgnHandle theClip)
  1362. ;
  1363.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1364.         Macro
  1365.         _SetTrackClipRgn
  1366.             move.w              #$0103,D0
  1367.             dc.w                $AAAA
  1368.         EndM
  1369.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1370.         IMPORT_CFM_FUNCTION SetTrackClipRgn
  1371.     ENDIF
  1372.  
  1373. ; * bounds in display space (not clipped by display clip) 
  1374. ;
  1375. ; pascal RgnHandle GetMovieDisplayBoundsRgn(Movie theMovie)
  1376. ;
  1377.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1378.         Macro
  1379.         _GetMovieDisplayBoundsRgn
  1380.             move.w              #$00FB,D0
  1381.             dc.w                $AAAA
  1382.         EndM
  1383.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1384.         IMPORT_CFM_FUNCTION GetMovieDisplayBoundsRgn
  1385.     ENDIF
  1386.  
  1387. ;
  1388. ; pascal RgnHandle GetTrackDisplayBoundsRgn(Track theTrack)
  1389. ;
  1390.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1391.         Macro
  1392.         _GetTrackDisplayBoundsRgn
  1393.             move.w              #$0112,D0
  1394.             dc.w                $AAAA
  1395.         EndM
  1396.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1397.         IMPORT_CFM_FUNCTION GetTrackDisplayBoundsRgn
  1398.     ENDIF
  1399.  
  1400. ; * bounds in movie space 
  1401. ;
  1402. ; pascal RgnHandle GetMovieBoundsRgn(Movie theMovie)
  1403. ;
  1404.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1405.         Macro
  1406.         _GetMovieBoundsRgn
  1407.             move.w              #$00FE,D0
  1408.             dc.w                $AAAA
  1409.         EndM
  1410.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1411.         IMPORT_CFM_FUNCTION GetMovieBoundsRgn
  1412.     ENDIF
  1413.  
  1414. ;
  1415. ; pascal RgnHandle GetTrackMovieBoundsRgn(Track theTrack)
  1416. ;
  1417.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1418.         Macro
  1419.         _GetTrackMovieBoundsRgn
  1420.             move.w              #$00FF,D0
  1421.             dc.w                $AAAA
  1422.         EndM
  1423.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1424.         IMPORT_CFM_FUNCTION GetTrackMovieBoundsRgn
  1425.     ENDIF
  1426.  
  1427. ; * bounds in track space 
  1428. ;
  1429. ; pascal RgnHandle GetTrackBoundsRgn(Track theTrack)
  1430. ;
  1431.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1432.         Macro
  1433.         _GetTrackBoundsRgn
  1434.             move.w              #$0111,D0
  1435.             dc.w                $AAAA
  1436.         EndM
  1437.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1438.         IMPORT_CFM_FUNCTION GetTrackBoundsRgn
  1439.     ENDIF
  1440.  
  1441. ; * mattes - always in track space 
  1442. ;
  1443. ; pascal PixMapHandle GetTrackMatte(Track theTrack)
  1444. ;
  1445.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1446.         Macro
  1447.         _GetTrackMatte
  1448.             move.w              #$0115,D0
  1449.             dc.w                $AAAA
  1450.         EndM
  1451.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1452.         IMPORT_CFM_FUNCTION GetTrackMatte
  1453.     ENDIF
  1454.  
  1455. ;
  1456. ; pascal void SetTrackMatte(Track theTrack, PixMapHandle theMatte)
  1457. ;
  1458.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1459.         Macro
  1460.         _SetTrackMatte
  1461.             move.w              #$0116,D0
  1462.             dc.w                $AAAA
  1463.         EndM
  1464.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1465.         IMPORT_CFM_FUNCTION SetTrackMatte
  1466.     ENDIF
  1467.  
  1468. ;
  1469. ; pascal void DisposeMatte(PixMapHandle theMatte)
  1470. ;
  1471.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1472.         Macro
  1473.         _DisposeMatte
  1474.             move.w              #$014A,D0
  1475.             dc.w                $AAAA
  1476.         EndM
  1477.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1478.         IMPORT_CFM_FUNCTION DisposeMatte
  1479.     ENDIF
  1480.  
  1481. ; *************************
  1482. ;* calls for getting/saving movies
  1483. ;*************************
  1484.  
  1485. ;
  1486. ; pascal Movie NewMovie(long flags)
  1487. ;
  1488.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1489.         Macro
  1490.         _NewMovie
  1491.             move.w              #$0187,D0
  1492.             dc.w                $AAAA
  1493.         EndM
  1494.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1495.         IMPORT_CFM_FUNCTION NewMovie
  1496.     ENDIF
  1497.  
  1498. ;
  1499. ; pascal OSErr PutMovieIntoHandle(Movie theMovie, Handle publicMovie)
  1500. ;
  1501.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1502.         Macro
  1503.         _PutMovieIntoHandle
  1504.             moveq               #34,D0
  1505.             dc.w                $AAAA
  1506.         EndM
  1507.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1508.         IMPORT_CFM_FUNCTION PutMovieIntoHandle
  1509.     ENDIF
  1510.  
  1511. ;
  1512. ; pascal OSErr PutMovieIntoDataFork(Movie theMovie, short fRefNum, long offset, long maxSize)
  1513. ;
  1514.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1515.         Macro
  1516.         _PutMovieIntoDataFork
  1517.             move.w              #$01B4,D0
  1518.             dc.w                $AAAA
  1519.         EndM
  1520.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1521.         IMPORT_CFM_FUNCTION PutMovieIntoDataFork
  1522.     ENDIF
  1523.  
  1524. ;
  1525. ; pascal void DisposeMovie(Movie theMovie)
  1526. ;
  1527.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1528.         Macro
  1529.         _DisposeMovie
  1530.             moveq               #35,D0
  1531.             dc.w                $AAAA
  1532.         EndM
  1533.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1534.         IMPORT_CFM_FUNCTION DisposeMovie
  1535.     ENDIF
  1536.  
  1537. ; *************************
  1538. ;* Movie State Routines
  1539. ;*************************
  1540.  
  1541. ;
  1542. ; pascal unsigned long GetMovieCreationTime(Movie theMovie)
  1543. ;
  1544.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1545.         Macro
  1546.         _GetMovieCreationTime
  1547.             moveq               #38,D0
  1548.             dc.w                $AAAA
  1549.         EndM
  1550.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1551.         IMPORT_CFM_FUNCTION GetMovieCreationTime
  1552.     ENDIF
  1553.  
  1554. ;
  1555. ; pascal unsigned long GetMovieModificationTime(Movie theMovie)
  1556. ;
  1557.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1558.         Macro
  1559.         _GetMovieModificationTime
  1560.             moveq               #39,D0
  1561.             dc.w                $AAAA
  1562.         EndM
  1563.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1564.         IMPORT_CFM_FUNCTION GetMovieModificationTime
  1565.     ENDIF
  1566.  
  1567. ;
  1568. ; pascal TimeScale GetMovieTimeScale(Movie theMovie)
  1569. ;
  1570.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1571.         Macro
  1572.         _GetMovieTimeScale
  1573.             moveq               #41,D0
  1574.             dc.w                $AAAA
  1575.         EndM
  1576.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1577.         IMPORT_CFM_FUNCTION GetMovieTimeScale
  1578.     ENDIF
  1579.  
  1580. ;
  1581. ; pascal void SetMovieTimeScale(Movie theMovie, TimeScale timeScale)
  1582. ;
  1583.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1584.         Macro
  1585.         _SetMovieTimeScale
  1586.             moveq               #42,D0
  1587.             dc.w                $AAAA
  1588.         EndM
  1589.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1590.         IMPORT_CFM_FUNCTION SetMovieTimeScale
  1591.     ENDIF
  1592.  
  1593. ;
  1594. ; pascal TimeValue GetMovieDuration(Movie theMovie)
  1595. ;
  1596.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1597.         Macro
  1598.         _GetMovieDuration
  1599.             moveq               #43,D0
  1600.             dc.w                $AAAA
  1601.         EndM
  1602.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1603.         IMPORT_CFM_FUNCTION GetMovieDuration
  1604.     ENDIF
  1605.  
  1606. ;
  1607. ; pascal Fixed GetMovieRate(Movie theMovie)
  1608. ;
  1609.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1610.         Macro
  1611.         _GetMovieRate
  1612.             moveq               #44,D0
  1613.             dc.w                $AAAA
  1614.         EndM
  1615.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1616.         IMPORT_CFM_FUNCTION GetMovieRate
  1617.     ENDIF
  1618.  
  1619. ;
  1620. ; pascal void SetMovieRate(Movie theMovie, Fixed rate)
  1621. ;
  1622.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1623.         Macro
  1624.         _SetMovieRate
  1625.             moveq               #45,D0
  1626.             dc.w                $AAAA
  1627.         EndM
  1628.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1629.         IMPORT_CFM_FUNCTION SetMovieRate
  1630.     ENDIF
  1631.  
  1632. ;
  1633. ; pascal Fixed GetMoviePreferredRate(Movie theMovie)
  1634. ;
  1635.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1636.         Macro
  1637.         _GetMoviePreferredRate
  1638.             move.w              #$00F3,D0
  1639.             dc.w                $AAAA
  1640.         EndM
  1641.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1642.         IMPORT_CFM_FUNCTION GetMoviePreferredRate
  1643.     ENDIF
  1644.  
  1645. ;
  1646. ; pascal void SetMoviePreferredRate(Movie theMovie, Fixed rate)
  1647. ;
  1648.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1649.         Macro
  1650.         _SetMoviePreferredRate
  1651.             move.w              #$00F4,D0
  1652.             dc.w                $AAAA
  1653.         EndM
  1654.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1655.         IMPORT_CFM_FUNCTION SetMoviePreferredRate
  1656.     ENDIF
  1657.  
  1658. ;
  1659. ; pascal short GetMoviePreferredVolume(Movie theMovie)
  1660. ;
  1661.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1662.         Macro
  1663.         _GetMoviePreferredVolume
  1664.             move.w              #$00F5,D0
  1665.             dc.w                $AAAA
  1666.         EndM
  1667.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1668.         IMPORT_CFM_FUNCTION GetMoviePreferredVolume
  1669.     ENDIF
  1670.  
  1671. ;
  1672. ; pascal void SetMoviePreferredVolume(Movie theMovie, short volume)
  1673. ;
  1674.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1675.         Macro
  1676.         _SetMoviePreferredVolume
  1677.             move.w              #$00F6,D0
  1678.             dc.w                $AAAA
  1679.         EndM
  1680.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1681.         IMPORT_CFM_FUNCTION SetMoviePreferredVolume
  1682.     ENDIF
  1683.  
  1684. ;
  1685. ; pascal short GetMovieVolume(Movie theMovie)
  1686. ;
  1687.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1688.         Macro
  1689.         _GetMovieVolume
  1690.             moveq               #46,D0
  1691.             dc.w                $AAAA
  1692.         EndM
  1693.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1694.         IMPORT_CFM_FUNCTION GetMovieVolume
  1695.     ENDIF
  1696.  
  1697. ;
  1698. ; pascal void SetMovieVolume(Movie theMovie, short volume)
  1699. ;
  1700.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1701.         Macro
  1702.         _SetMovieVolume
  1703.             moveq               #47,D0
  1704.             dc.w                $AAAA
  1705.         EndM
  1706.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1707.         IMPORT_CFM_FUNCTION SetMovieVolume
  1708.     ENDIF
  1709.  
  1710. ;
  1711. ; pascal void GetMovieMatrix(Movie theMovie, MatrixRecord *matrix)
  1712. ;
  1713.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1714.         Macro
  1715.         _GetMovieMatrix
  1716.             moveq               #49,D0
  1717.             dc.w                $AAAA
  1718.         EndM
  1719.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1720.         IMPORT_CFM_FUNCTION GetMovieMatrix
  1721.     ENDIF
  1722.  
  1723. ;
  1724. ; pascal void SetMovieMatrix(Movie theMovie, const MatrixRecord *matrix)
  1725. ;
  1726.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1727.         Macro
  1728.         _SetMovieMatrix
  1729.             moveq               #50,D0
  1730.             dc.w                $AAAA
  1731.         EndM
  1732.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1733.         IMPORT_CFM_FUNCTION SetMovieMatrix
  1734.     ENDIF
  1735.  
  1736. ;
  1737. ; pascal void GetMoviePreviewTime(Movie theMovie, TimeValue *previewTime, TimeValue *previewDuration)
  1738. ;
  1739.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1740.         Macro
  1741.         _GetMoviePreviewTime
  1742.             moveq               #51,D0
  1743.             dc.w                $AAAA
  1744.         EndM
  1745.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1746.         IMPORT_CFM_FUNCTION GetMoviePreviewTime
  1747.     ENDIF
  1748.  
  1749. ;
  1750. ; pascal void SetMoviePreviewTime(Movie theMovie, TimeValue previewTime, TimeValue previewDuration)
  1751. ;
  1752.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1753.         Macro
  1754.         _SetMoviePreviewTime
  1755.             moveq               #52,D0
  1756.             dc.w                $AAAA
  1757.         EndM
  1758.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1759.         IMPORT_CFM_FUNCTION SetMoviePreviewTime
  1760.     ENDIF
  1761.  
  1762. ;
  1763. ; pascal TimeValue GetMoviePosterTime(Movie theMovie)
  1764. ;
  1765.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1766.         Macro
  1767.         _GetMoviePosterTime
  1768.             moveq               #53,D0
  1769.             dc.w                $AAAA
  1770.         EndM
  1771.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1772.         IMPORT_CFM_FUNCTION GetMoviePosterTime
  1773.     ENDIF
  1774.  
  1775. ;
  1776. ; pascal void SetMoviePosterTime(Movie theMovie, TimeValue posterTime)
  1777. ;
  1778.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1779.         Macro
  1780.         _SetMoviePosterTime
  1781.             moveq               #54,D0
  1782.             dc.w                $AAAA
  1783.         EndM
  1784.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1785.         IMPORT_CFM_FUNCTION SetMoviePosterTime
  1786.     ENDIF
  1787.  
  1788. ;
  1789. ; pascal void GetMovieSelection(Movie theMovie, TimeValue *selectionTime, TimeValue *selectionDuration)
  1790. ;
  1791.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1792.         Macro
  1793.         _GetMovieSelection
  1794.             moveq               #55,D0
  1795.             dc.w                $AAAA
  1796.         EndM
  1797.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1798.         IMPORT_CFM_FUNCTION GetMovieSelection
  1799.     ENDIF
  1800.  
  1801. ;
  1802. ; pascal void SetMovieSelection(Movie theMovie, TimeValue selectionTime, TimeValue selectionDuration)
  1803. ;
  1804.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1805.         Macro
  1806.         _SetMovieSelection
  1807.             moveq               #56,D0
  1808.             dc.w                $AAAA
  1809.         EndM
  1810.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1811.         IMPORT_CFM_FUNCTION SetMovieSelection
  1812.     ENDIF
  1813.  
  1814. ;
  1815. ; pascal void SetMovieActiveSegment(Movie theMovie, TimeValue startTime, TimeValue duration)
  1816. ;
  1817.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1818.         Macro
  1819.         _SetMovieActiveSegment
  1820.             move.w              #$015C,D0
  1821.             dc.w                $AAAA
  1822.         EndM
  1823.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1824.         IMPORT_CFM_FUNCTION SetMovieActiveSegment
  1825.     ENDIF
  1826.  
  1827. ;
  1828. ; pascal void GetMovieActiveSegment(Movie theMovie, TimeValue *startTime, TimeValue *duration)
  1829. ;
  1830.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1831.         Macro
  1832.         _GetMovieActiveSegment
  1833.             move.w              #$015D,D0
  1834.             dc.w                $AAAA
  1835.         EndM
  1836.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1837.         IMPORT_CFM_FUNCTION GetMovieActiveSegment
  1838.     ENDIF
  1839.  
  1840. ;
  1841. ; pascal TimeValue GetMovieTime(Movie theMovie, TimeRecord *currentTime)
  1842. ;
  1843.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1844.         Macro
  1845.         _GetMovieTime
  1846.             moveq               #57,D0
  1847.             dc.w                $AAAA
  1848.         EndM
  1849.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1850.         IMPORT_CFM_FUNCTION GetMovieTime
  1851.     ENDIF
  1852.  
  1853. ;
  1854. ; pascal void SetMovieTime(Movie theMovie, const TimeRecord *newtime)
  1855. ;
  1856.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1857.         Macro
  1858.         _SetMovieTime
  1859.             moveq               #60,D0
  1860.             dc.w                $AAAA
  1861.         EndM
  1862.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1863.         IMPORT_CFM_FUNCTION SetMovieTime
  1864.     ENDIF
  1865.  
  1866. ;
  1867. ; pascal void SetMovieTimeValue(Movie theMovie, TimeValue newtime)
  1868. ;
  1869.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1870.         Macro
  1871.         _SetMovieTimeValue
  1872.             moveq               #61,D0
  1873.             dc.w                $AAAA
  1874.         EndM
  1875.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1876.         IMPORT_CFM_FUNCTION SetMovieTimeValue
  1877.     ENDIF
  1878.  
  1879.  
  1880. ;
  1881. ; pascal UserData GetMovieUserData(Movie theMovie)
  1882. ;
  1883.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1884.         Macro
  1885.         _GetMovieUserData
  1886.             moveq               #62,D0
  1887.             dc.w                $AAAA
  1888.         EndM
  1889.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1890.         IMPORT_CFM_FUNCTION GetMovieUserData
  1891.     ENDIF
  1892.  
  1893.  
  1894. ; *************************
  1895. ;* Track/Media finding routines
  1896. ;*************************
  1897.  
  1898. ;
  1899. ; pascal long GetMovieTrackCount(Movie theMovie)
  1900. ;
  1901.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1902.         Macro
  1903.         _GetMovieTrackCount
  1904.             moveq               #63,D0
  1905.             dc.w                $AAAA
  1906.         EndM
  1907.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1908.         IMPORT_CFM_FUNCTION GetMovieTrackCount
  1909.     ENDIF
  1910.  
  1911. ;
  1912. ; pascal Track GetMovieTrack(Movie theMovie, long trackID)
  1913. ;
  1914.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1915.         Macro
  1916.         _GetMovieTrack
  1917.             moveq               #64,D0
  1918.             dc.w                $AAAA
  1919.         EndM
  1920.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1921.         IMPORT_CFM_FUNCTION GetMovieTrack
  1922.     ENDIF
  1923.  
  1924. ;
  1925. ; pascal Track GetMovieIndTrack(Movie theMovie, long index)
  1926. ;
  1927.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1928.         Macro
  1929.         _GetMovieIndTrack
  1930.             move.w              #$0117,D0
  1931.             dc.w                $AAAA
  1932.         EndM
  1933.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1934.         IMPORT_CFM_FUNCTION GetMovieIndTrack
  1935.     ENDIF
  1936.  
  1937. ;
  1938. ; pascal Track GetMovieIndTrackType(Movie theMovie, long index, OSType trackType, long flags)
  1939. ;
  1940.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1941.         Macro
  1942.         _GetMovieIndTrackType
  1943.             move.w              #$0208,D0
  1944.             dc.w                $AAAA
  1945.         EndM
  1946.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1947.         IMPORT_CFM_FUNCTION GetMovieIndTrackType
  1948.     ENDIF
  1949.  
  1950. ;
  1951. ; pascal long GetTrackID(Track theTrack)
  1952. ;
  1953.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1954.         Macro
  1955.         _GetTrackID
  1956.             move.w              #$0127,D0
  1957.             dc.w                $AAAA
  1958.         EndM
  1959.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1960.         IMPORT_CFM_FUNCTION GetTrackID
  1961.     ENDIF
  1962.  
  1963. ;
  1964. ; pascal Movie GetTrackMovie(Track theTrack)
  1965. ;
  1966.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1967.         Macro
  1968.         _GetTrackMovie
  1969.             move.w              #$00D0,D0
  1970.             dc.w                $AAAA
  1971.         EndM
  1972.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1973.         IMPORT_CFM_FUNCTION GetTrackMovie
  1974.     ENDIF
  1975.  
  1976. ; *************************
  1977. ;* Track creation routines
  1978. ;*************************
  1979.  
  1980. ;
  1981. ; pascal Track NewMovieTrack(Movie theMovie, Fixed width, Fixed height, short trackVolume)
  1982. ;
  1983.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1984.         Macro
  1985.         _NewMovieTrack
  1986.             move.w              #$0188,D0
  1987.             dc.w                $AAAA
  1988.         EndM
  1989.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1990.         IMPORT_CFM_FUNCTION NewMovieTrack
  1991.     ENDIF
  1992.  
  1993. ;
  1994. ; pascal void DisposeMovieTrack(Track theTrack)
  1995. ;
  1996.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1997.         Macro
  1998.         _DisposeMovieTrack
  1999.             moveq               #66,D0
  2000.             dc.w                $AAAA
  2001.         EndM
  2002.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2003.         IMPORT_CFM_FUNCTION DisposeMovieTrack
  2004.     ENDIF
  2005.  
  2006. ; *************************
  2007. ;* Track State routines
  2008. ;*************************
  2009.  
  2010. ;
  2011. ; pascal unsigned long GetTrackCreationTime(Track theTrack)
  2012. ;
  2013.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2014.         Macro
  2015.         _GetTrackCreationTime
  2016.             moveq               #67,D0
  2017.             dc.w                $AAAA
  2018.         EndM
  2019.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2020.         IMPORT_CFM_FUNCTION GetTrackCreationTime
  2021.     ENDIF
  2022.  
  2023. ;
  2024. ; pascal unsigned long GetTrackModificationTime(Track theTrack)
  2025. ;
  2026.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2027.         Macro
  2028.         _GetTrackModificationTime
  2029.             moveq               #68,D0
  2030.             dc.w                $AAAA
  2031.         EndM
  2032.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2033.         IMPORT_CFM_FUNCTION GetTrackModificationTime
  2034.     ENDIF
  2035.  
  2036.  
  2037. ;
  2038. ; pascal Boolean GetTrackEnabled(Track theTrack)
  2039. ;
  2040.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2041.         Macro
  2042.         _GetTrackEnabled
  2043.             moveq               #69,D0
  2044.             dc.w                $AAAA
  2045.         EndM
  2046.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2047.         IMPORT_CFM_FUNCTION GetTrackEnabled
  2048.     ENDIF
  2049.  
  2050. ;
  2051. ; pascal void SetTrackEnabled(Track theTrack, Boolean isEnabled)
  2052. ;
  2053.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2054.         Macro
  2055.         _SetTrackEnabled
  2056.             moveq               #70,D0
  2057.             dc.w                $AAAA
  2058.         EndM
  2059.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2060.         IMPORT_CFM_FUNCTION SetTrackEnabled
  2061.     ENDIF
  2062.  
  2063. ;
  2064. ; pascal long GetTrackUsage(Track theTrack)
  2065. ;
  2066.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2067.         Macro
  2068.         _GetTrackUsage
  2069.             moveq               #71,D0
  2070.             dc.w                $AAAA
  2071.         EndM
  2072.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2073.         IMPORT_CFM_FUNCTION GetTrackUsage
  2074.     ENDIF
  2075.  
  2076. ;
  2077. ; pascal void SetTrackUsage(Track theTrack, long usage)
  2078. ;
  2079.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2080.         Macro
  2081.         _SetTrackUsage
  2082.             moveq               #72,D0
  2083.             dc.w                $AAAA
  2084.         EndM
  2085.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2086.         IMPORT_CFM_FUNCTION SetTrackUsage
  2087.     ENDIF
  2088.  
  2089. ;
  2090. ; pascal TimeValue GetTrackDuration(Track theTrack)
  2091. ;
  2092.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2093.         Macro
  2094.         _GetTrackDuration
  2095.             moveq               #75,D0
  2096.             dc.w                $AAAA
  2097.         EndM
  2098.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2099.         IMPORT_CFM_FUNCTION GetTrackDuration
  2100.     ENDIF
  2101.  
  2102. ;
  2103. ; pascal TimeValue GetTrackOffset(Track theTrack)
  2104. ;
  2105.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2106.         Macro
  2107.         _GetTrackOffset
  2108.             moveq               #76,D0
  2109.             dc.w                $AAAA
  2110.         EndM
  2111.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2112.         IMPORT_CFM_FUNCTION GetTrackOffset
  2113.     ENDIF
  2114.  
  2115. ;
  2116. ; pascal void SetTrackOffset(Track theTrack, TimeValue movieOffsetTime)
  2117. ;
  2118.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2119.         Macro
  2120.         _SetTrackOffset
  2121.             moveq               #77,D0
  2122.             dc.w                $AAAA
  2123.         EndM
  2124.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2125.         IMPORT_CFM_FUNCTION SetTrackOffset
  2126.     ENDIF
  2127.  
  2128. ;
  2129. ; pascal short GetTrackLayer(Track theTrack)
  2130. ;
  2131.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2132.         Macro
  2133.         _GetTrackLayer
  2134.             moveq               #80,D0
  2135.             dc.w                $AAAA
  2136.         EndM
  2137.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2138.         IMPORT_CFM_FUNCTION GetTrackLayer
  2139.     ENDIF
  2140.  
  2141. ;
  2142. ; pascal void SetTrackLayer(Track theTrack, short layer)
  2143. ;
  2144.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2145.         Macro
  2146.         _SetTrackLayer
  2147.             moveq               #81,D0
  2148.             dc.w                $AAAA
  2149.         EndM
  2150.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2151.         IMPORT_CFM_FUNCTION SetTrackLayer
  2152.     ENDIF
  2153.  
  2154. ;
  2155. ; pascal Track GetTrackAlternate(Track theTrack)
  2156. ;
  2157.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2158.         Macro
  2159.         _GetTrackAlternate
  2160.             moveq               #82,D0
  2161.             dc.w                $AAAA
  2162.         EndM
  2163.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2164.         IMPORT_CFM_FUNCTION GetTrackAlternate
  2165.     ENDIF
  2166.  
  2167. ;
  2168. ; pascal void SetTrackAlternate(Track theTrack, Track alternateT)
  2169. ;
  2170.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2171.         Macro
  2172.         _SetTrackAlternate
  2173.             moveq               #83,D0
  2174.             dc.w                $AAAA
  2175.         EndM
  2176.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2177.         IMPORT_CFM_FUNCTION SetTrackAlternate
  2178.     ENDIF
  2179.  
  2180. ;
  2181. ; pascal void SetAutoTrackAlternatesEnabled(Movie theMovie, Boolean enable)
  2182. ;
  2183.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2184.         Macro
  2185.         _SetAutoTrackAlternatesEnabled
  2186.             move.w              #$015E,D0
  2187.             dc.w                $AAAA
  2188.         EndM
  2189.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2190.         IMPORT_CFM_FUNCTION SetAutoTrackAlternatesEnabled
  2191.     ENDIF
  2192.  
  2193. ;
  2194. ; pascal void SelectMovieAlternates(Movie theMovie)
  2195. ;
  2196.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2197.         Macro
  2198.         _SelectMovieAlternates
  2199.             move.w              #$015F,D0
  2200.             dc.w                $AAAA
  2201.         EndM
  2202.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2203.         IMPORT_CFM_FUNCTION SelectMovieAlternates
  2204.     ENDIF
  2205.  
  2206. ;
  2207. ; pascal short GetTrackVolume(Track theTrack)
  2208. ;
  2209.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2210.         Macro
  2211.         _GetTrackVolume
  2212.             moveq               #84,D0
  2213.             dc.w                $AAAA
  2214.         EndM
  2215.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2216.         IMPORT_CFM_FUNCTION GetTrackVolume
  2217.     ENDIF
  2218.  
  2219. ;
  2220. ; pascal void SetTrackVolume(Track theTrack, short volume)
  2221. ;
  2222.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2223.         Macro
  2224.         _SetTrackVolume
  2225.             moveq               #85,D0
  2226.             dc.w                $AAAA
  2227.         EndM
  2228.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2229.         IMPORT_CFM_FUNCTION SetTrackVolume
  2230.     ENDIF
  2231.  
  2232. ;
  2233. ; pascal void GetTrackMatrix(Track theTrack, MatrixRecord *matrix)
  2234. ;
  2235.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2236.         Macro
  2237.         _GetTrackMatrix
  2238.             moveq               #86,D0
  2239.             dc.w                $AAAA
  2240.         EndM
  2241.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2242.         IMPORT_CFM_FUNCTION GetTrackMatrix
  2243.     ENDIF
  2244.  
  2245. ;
  2246. ; pascal void SetTrackMatrix(Track theTrack, const MatrixRecord *matrix)
  2247. ;
  2248.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2249.         Macro
  2250.         _SetTrackMatrix
  2251.             moveq               #87,D0
  2252.             dc.w                $AAAA
  2253.         EndM
  2254.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2255.         IMPORT_CFM_FUNCTION SetTrackMatrix
  2256.     ENDIF
  2257.  
  2258. ;
  2259. ; pascal void GetTrackDimensions(Track theTrack, Fixed *width, Fixed *height)
  2260. ;
  2261.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2262.         Macro
  2263.         _GetTrackDimensions
  2264.             moveq               #93,D0
  2265.             dc.w                $AAAA
  2266.         EndM
  2267.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2268.         IMPORT_CFM_FUNCTION GetTrackDimensions
  2269.     ENDIF
  2270.  
  2271. ;
  2272. ; pascal void SetTrackDimensions(Track theTrack, Fixed width, Fixed height)
  2273. ;
  2274.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2275.         Macro
  2276.         _SetTrackDimensions
  2277.             moveq               #94,D0
  2278.             dc.w                $AAAA
  2279.         EndM
  2280.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2281.         IMPORT_CFM_FUNCTION SetTrackDimensions
  2282.     ENDIF
  2283.  
  2284. ;
  2285. ; pascal UserData GetTrackUserData(Track theTrack)
  2286. ;
  2287.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2288.         Macro
  2289.         _GetTrackUserData
  2290.             moveq               #95,D0
  2291.             dc.w                $AAAA
  2292.         EndM
  2293.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2294.         IMPORT_CFM_FUNCTION GetTrackUserData
  2295.     ENDIF
  2296.  
  2297. ;
  2298. ; pascal OSErr GetTrackDisplayMatrix(Track theTrack, MatrixRecord *matrix)
  2299. ;
  2300.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2301.         Macro
  2302.         _GetTrackDisplayMatrix
  2303.             move.w              #$0263,D0
  2304.             dc.w                $AAAA
  2305.         EndM
  2306.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2307.         IMPORT_CFM_FUNCTION GetTrackDisplayMatrix
  2308.     ENDIF
  2309.  
  2310. ;
  2311. ; pascal OSErr GetTrackSoundLocalizationSettings(Track theTrack, Handle *settings)
  2312. ;
  2313.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2314.         Macro
  2315.         _GetTrackSoundLocalizationSettings
  2316.             move.w              #$0282,D0
  2317.             dc.w                $AAAA
  2318.         EndM
  2319.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2320.         IMPORT_CFM_FUNCTION GetTrackSoundLocalizationSettings
  2321.     ENDIF
  2322.  
  2323. ;
  2324. ; pascal OSErr SetTrackSoundLocalizationSettings(Track theTrack, Handle settings)
  2325. ;
  2326.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2327.         Macro
  2328.         _SetTrackSoundLocalizationSettings
  2329.             move.w              #$0283,D0
  2330.             dc.w                $AAAA
  2331.         EndM
  2332.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2333.         IMPORT_CFM_FUNCTION SetTrackSoundLocalizationSettings
  2334.     ENDIF
  2335.  
  2336. ; *************************
  2337. ;* get Media routines
  2338. ;*************************
  2339.  
  2340. ;
  2341. ; pascal Media NewTrackMedia(Track theTrack, OSType mediaType, TimeScale timeScale, Handle dataRef, OSType dataRefType)
  2342. ;
  2343.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2344.         Macro
  2345.         _NewTrackMedia
  2346.             move.w              #$018E,D0
  2347.             dc.w                $AAAA
  2348.         EndM
  2349.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2350.         IMPORT_CFM_FUNCTION NewTrackMedia
  2351.     ENDIF
  2352.  
  2353. ;
  2354. ; pascal void DisposeTrackMedia(Media theMedia)
  2355. ;
  2356.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2357.         Macro
  2358.         _DisposeTrackMedia
  2359.             moveq               #97,D0
  2360.             dc.w                $AAAA
  2361.         EndM
  2362.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2363.         IMPORT_CFM_FUNCTION DisposeTrackMedia
  2364.     ENDIF
  2365.  
  2366. ;
  2367. ; pascal Media GetTrackMedia(Track theTrack)
  2368. ;
  2369.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2370.         Macro
  2371.         _GetTrackMedia
  2372.             moveq               #98,D0
  2373.             dc.w                $AAAA
  2374.         EndM
  2375.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2376.         IMPORT_CFM_FUNCTION GetTrackMedia
  2377.     ENDIF
  2378.  
  2379. ;
  2380. ; pascal Track GetMediaTrack(Media theMedia)
  2381. ;
  2382.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2383.         Macro
  2384.         _GetMediaTrack
  2385.             move.w              #$00C5,D0
  2386.             dc.w                $AAAA
  2387.         EndM
  2388.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2389.         IMPORT_CFM_FUNCTION GetMediaTrack
  2390.     ENDIF
  2391.  
  2392.  
  2393.  
  2394. ; *************************
  2395. ;* Media State routines
  2396. ;*************************
  2397.  
  2398. ;
  2399. ; pascal unsigned long GetMediaCreationTime(Media theMedia)
  2400. ;
  2401.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2402.         Macro
  2403.         _GetMediaCreationTime
  2404.             moveq               #102,D0
  2405.             dc.w                $AAAA
  2406.         EndM
  2407.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2408.         IMPORT_CFM_FUNCTION GetMediaCreationTime
  2409.     ENDIF
  2410.  
  2411. ;
  2412. ; pascal unsigned long GetMediaModificationTime(Media theMedia)
  2413. ;
  2414.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2415.         Macro
  2416.         _GetMediaModificationTime
  2417.             moveq               #103,D0
  2418.             dc.w                $AAAA
  2419.         EndM
  2420.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2421.         IMPORT_CFM_FUNCTION GetMediaModificationTime
  2422.     ENDIF
  2423.  
  2424. ;
  2425. ; pascal TimeScale GetMediaTimeScale(Media theMedia)
  2426. ;
  2427.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2428.         Macro
  2429.         _GetMediaTimeScale
  2430.             moveq               #104,D0
  2431.             dc.w                $AAAA
  2432.         EndM
  2433.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2434.         IMPORT_CFM_FUNCTION GetMediaTimeScale
  2435.     ENDIF
  2436.  
  2437. ;
  2438. ; pascal void SetMediaTimeScale(Media theMedia, TimeScale timeScale)
  2439. ;
  2440.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2441.         Macro
  2442.         _SetMediaTimeScale
  2443.             moveq               #105,D0
  2444.             dc.w                $AAAA
  2445.         EndM
  2446.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2447.         IMPORT_CFM_FUNCTION SetMediaTimeScale
  2448.     ENDIF
  2449.  
  2450. ;
  2451. ; pascal TimeValue GetMediaDuration(Media theMedia)
  2452. ;
  2453.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2454.         Macro
  2455.         _GetMediaDuration
  2456.             moveq               #106,D0
  2457.             dc.w                $AAAA
  2458.         EndM
  2459.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2460.         IMPORT_CFM_FUNCTION GetMediaDuration
  2461.     ENDIF
  2462.  
  2463. ;
  2464. ; pascal short GetMediaLanguage(Media theMedia)
  2465. ;
  2466.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2467.         Macro
  2468.         _GetMediaLanguage
  2469.             moveq               #107,D0
  2470.             dc.w                $AAAA
  2471.         EndM
  2472.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2473.         IMPORT_CFM_FUNCTION GetMediaLanguage
  2474.     ENDIF
  2475.  
  2476. ;
  2477. ; pascal void SetMediaLanguage(Media theMedia, short language)
  2478. ;
  2479.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2480.         Macro
  2481.         _SetMediaLanguage
  2482.             moveq               #108,D0
  2483.             dc.w                $AAAA
  2484.         EndM
  2485.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2486.         IMPORT_CFM_FUNCTION SetMediaLanguage
  2487.     ENDIF
  2488.  
  2489. ;
  2490. ; pascal short GetMediaQuality(Media theMedia)
  2491. ;
  2492.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2493.         Macro
  2494.         _GetMediaQuality
  2495.             moveq               #109,D0
  2496.             dc.w                $AAAA
  2497.         EndM
  2498.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2499.         IMPORT_CFM_FUNCTION GetMediaQuality
  2500.     ENDIF
  2501.  
  2502. ;
  2503. ; pascal void SetMediaQuality(Media theMedia, short quality)
  2504. ;
  2505.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2506.         Macro
  2507.         _SetMediaQuality
  2508.             moveq               #110,D0
  2509.             dc.w                $AAAA
  2510.         EndM
  2511.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2512.         IMPORT_CFM_FUNCTION SetMediaQuality
  2513.     ENDIF
  2514.  
  2515. ;
  2516. ; pascal void GetMediaHandlerDescription(Media theMedia, OSType *mediaType, Str255 creatorName, OSType *creatorManufacturer)
  2517. ;
  2518.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2519.         Macro
  2520.         _GetMediaHandlerDescription
  2521.             moveq               #111,D0
  2522.             dc.w                $AAAA
  2523.         EndM
  2524.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2525.         IMPORT_CFM_FUNCTION GetMediaHandlerDescription
  2526.     ENDIF
  2527.  
  2528. ;
  2529. ; pascal UserData GetMediaUserData(Media theMedia)
  2530. ;
  2531.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2532.         Macro
  2533.         _GetMediaUserData
  2534.             moveq               #112,D0
  2535.             dc.w                $AAAA
  2536.         EndM
  2537.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2538.         IMPORT_CFM_FUNCTION GetMediaUserData
  2539.     ENDIF
  2540.  
  2541. ;
  2542. ; pascal OSErr GetMediaInputMap(Media theMedia, QTAtomContainer *inputMap)
  2543. ;
  2544.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2545.         Macro
  2546.         _GetMediaInputMap
  2547.             move.w              #$0249,D0
  2548.             dc.w                $AAAA
  2549.         EndM
  2550.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2551.         IMPORT_CFM_FUNCTION GetMediaInputMap
  2552.     ENDIF
  2553.  
  2554. ;
  2555. ; pascal OSErr SetMediaInputMap(Media theMedia, QTAtomContainer inputMap)
  2556. ;
  2557.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2558.         Macro
  2559.         _SetMediaInputMap
  2560.             move.w              #$024A,D0
  2561.             dc.w                $AAAA
  2562.         EndM
  2563.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2564.         IMPORT_CFM_FUNCTION SetMediaInputMap
  2565.     ENDIF
  2566.  
  2567. ; *************************
  2568. ;* Media Handler routines
  2569. ;*************************
  2570.  
  2571. ;
  2572. ; pascal MediaHandler GetMediaHandler(Media theMedia)
  2573. ;
  2574.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2575.         Macro
  2576.         _GetMediaHandler
  2577.             moveq               #113,D0
  2578.             dc.w                $AAAA
  2579.         EndM
  2580.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2581.         IMPORT_CFM_FUNCTION GetMediaHandler
  2582.     ENDIF
  2583.  
  2584. ;
  2585. ; pascal OSErr SetMediaHandler(Media theMedia, MediaHandlerComponent mH)
  2586. ;
  2587.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2588.         Macro
  2589.         _SetMediaHandler
  2590.             move.w              #$0190,D0
  2591.             dc.w                $AAAA
  2592.         EndM
  2593.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2594.         IMPORT_CFM_FUNCTION SetMediaHandler
  2595.     ENDIF
  2596.  
  2597.  
  2598. ; *************************
  2599. ;* Media's Data routines
  2600. ;*************************
  2601.  
  2602. ;
  2603. ; pascal OSErr BeginMediaEdits(Media theMedia)
  2604. ;
  2605.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2606.         Macro
  2607.         _BeginMediaEdits
  2608.             moveq               #114,D0
  2609.             dc.w                $AAAA
  2610.         EndM
  2611.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2612.         IMPORT_CFM_FUNCTION BeginMediaEdits
  2613.     ENDIF
  2614.  
  2615. ;
  2616. ; pascal OSErr EndMediaEdits(Media theMedia)
  2617. ;
  2618.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2619.         Macro
  2620.         _EndMediaEdits
  2621.             moveq               #115,D0
  2622.             dc.w                $AAAA
  2623.         EndM
  2624.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2625.         IMPORT_CFM_FUNCTION EndMediaEdits
  2626.     ENDIF
  2627.  
  2628. ;
  2629. ; pascal OSErr SetMediaDefaultDataRefIndex(Media theMedia, short index)
  2630. ;
  2631.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2632.         Macro
  2633.         _SetMediaDefaultDataRefIndex
  2634.             move.w              #$01E0,D0
  2635.             dc.w                $AAAA
  2636.         EndM
  2637.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2638.         IMPORT_CFM_FUNCTION SetMediaDefaultDataRefIndex
  2639.     ENDIF
  2640.  
  2641. ;
  2642. ; pascal void GetMediaDataHandlerDescription(Media theMedia, short index, OSType *dhType, Str255 creatorName, OSType *creatorManufacturer)
  2643. ;
  2644.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2645.         Macro
  2646.         _GetMediaDataHandlerDescription
  2647.             move.w              #$019E,D0
  2648.             dc.w                $AAAA
  2649.         EndM
  2650.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2651.         IMPORT_CFM_FUNCTION GetMediaDataHandlerDescription
  2652.     ENDIF
  2653.  
  2654. ;
  2655. ; pascal DataHandler GetMediaDataHandler(Media theMedia, short index)
  2656. ;
  2657.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2658.         Macro
  2659.         _GetMediaDataHandler
  2660.             move.w              #$019F,D0
  2661.             dc.w                $AAAA
  2662.         EndM
  2663.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2664.         IMPORT_CFM_FUNCTION GetMediaDataHandler
  2665.     ENDIF
  2666.  
  2667. ;
  2668. ; pascal OSErr SetMediaDataHandler(Media theMedia, short index, DataHandlerComponent dataHandler)
  2669. ;
  2670.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2671.         Macro
  2672.         _SetMediaDataHandler
  2673.             move.w              #$01A0,D0
  2674.             dc.w                $AAAA
  2675.         EndM
  2676.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2677.         IMPORT_CFM_FUNCTION SetMediaDataHandler
  2678.     ENDIF
  2679.  
  2680. ;
  2681. ; pascal Component GetDataHandler(Handle dataRef, OSType dataHandlerSubType, long flags)
  2682. ;
  2683.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2684.         Macro
  2685.         _GetDataHandler
  2686.             move.w              #$01ED,D0
  2687.             dc.w                $AAAA
  2688.         EndM
  2689.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2690.         IMPORT_CFM_FUNCTION GetDataHandler
  2691.     ENDIF
  2692.  
  2693.  
  2694. ; *************************
  2695. ;* Media Sample Table Routines
  2696. ;*************************
  2697.  
  2698. ;
  2699. ; pascal long GetMediaSampleDescriptionCount(Media theMedia)
  2700. ;
  2701.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2702.         Macro
  2703.         _GetMediaSampleDescriptionCount
  2704.             moveq               #119,D0
  2705.             dc.w                $AAAA
  2706.         EndM
  2707.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2708.         IMPORT_CFM_FUNCTION GetMediaSampleDescriptionCount
  2709.     ENDIF
  2710.  
  2711. ;
  2712. ; pascal void GetMediaSampleDescription(Media theMedia, long index, SampleDescriptionHandle descH)
  2713. ;
  2714.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2715.         Macro
  2716.         _GetMediaSampleDescription
  2717.             moveq               #120,D0
  2718.             dc.w                $AAAA
  2719.         EndM
  2720.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2721.         IMPORT_CFM_FUNCTION GetMediaSampleDescription
  2722.     ENDIF
  2723.  
  2724. ;
  2725. ; pascal OSErr SetMediaSampleDescription(Media theMedia, long index, SampleDescriptionHandle descH)
  2726. ;
  2727.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2728.         Macro
  2729.         _SetMediaSampleDescription
  2730.             move.w              #$01D0,D0
  2731.             dc.w                $AAAA
  2732.         EndM
  2733.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2734.         IMPORT_CFM_FUNCTION SetMediaSampleDescription
  2735.     ENDIF
  2736.  
  2737. ;
  2738. ; pascal long GetMediaSampleCount(Media theMedia)
  2739. ;
  2740.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2741.         Macro
  2742.         _GetMediaSampleCount
  2743.             moveq               #121,D0
  2744.             dc.w                $AAAA
  2745.         EndM
  2746.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2747.         IMPORT_CFM_FUNCTION GetMediaSampleCount
  2748.     ENDIF
  2749.  
  2750. ;
  2751. ; pascal long GetMediaSyncSampleCount(Media theMedia)
  2752. ;
  2753.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2754.         Macro
  2755.         _GetMediaSyncSampleCount
  2756.             move.w              #$02B2,D0
  2757.             dc.w                $AAAA
  2758.         EndM
  2759.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2760.         IMPORT_CFM_FUNCTION GetMediaSyncSampleCount
  2761.     ENDIF
  2762.  
  2763. ;
  2764. ; pascal void SampleNumToMediaTime(Media theMedia, long logicalSampleNum, TimeValue *sampleTime, TimeValue *sampleDuration)
  2765. ;
  2766.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2767.         Macro
  2768.         _SampleNumToMediaTime
  2769.             moveq               #122,D0
  2770.             dc.w                $AAAA
  2771.         EndM
  2772.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2773.         IMPORT_CFM_FUNCTION SampleNumToMediaTime
  2774.     ENDIF
  2775.  
  2776. ;
  2777. ; pascal void MediaTimeToSampleNum(Media theMedia, TimeValue time, long *sampleNum, TimeValue *sampleTime, TimeValue *sampleDuration)
  2778. ;
  2779.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2780.         Macro
  2781.         _MediaTimeToSampleNum
  2782.             moveq               #123,D0
  2783.             dc.w                $AAAA
  2784.         EndM
  2785.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2786.         IMPORT_CFM_FUNCTION MediaTimeToSampleNum
  2787.     ENDIF
  2788.  
  2789.  
  2790. ;
  2791. ; pascal OSErr AddMediaSample(Media theMedia, Handle dataIn, long inOffset, unsigned long size, TimeValue durationPerSample, SampleDescriptionHandle sampleDescriptionH, long numberOfSamples, short sampleFlags, TimeValue *sampleTime)
  2792. ;
  2793.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2794.         Macro
  2795.         _AddMediaSample
  2796.             moveq               #124,D0
  2797.             dc.w                $AAAA
  2798.         EndM
  2799.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2800.         IMPORT_CFM_FUNCTION AddMediaSample
  2801.     ENDIF
  2802.  
  2803. ;
  2804. ; pascal OSErr AddMediaSampleReference(Media theMedia, long dataOffset, unsigned long size, TimeValue durationPerSample, SampleDescriptionHandle sampleDescriptionH, long numberOfSamples, short sampleFlags, TimeValue *sampleTime)
  2805. ;
  2806.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2807.         Macro
  2808.         _AddMediaSampleReference
  2809.             moveq               #125,D0
  2810.             dc.w                $AAAA
  2811.         EndM
  2812.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2813.         IMPORT_CFM_FUNCTION AddMediaSampleReference
  2814.     ENDIF
  2815.  
  2816. ;
  2817. ; pascal OSErr AddMediaSampleReferences(Media theMedia, SampleDescriptionHandle sampleDescriptionH, long numberOfSamples, SampleReferencePtr sampleRefs, TimeValue *sampleTime)
  2818. ;
  2819.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2820.         Macro
  2821.         _AddMediaSampleReferences
  2822.             move.w              #$01F7,D0
  2823.             dc.w                $AAAA
  2824.         EndM
  2825.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2826.         IMPORT_CFM_FUNCTION AddMediaSampleReferences
  2827.     ENDIF
  2828.  
  2829. ;
  2830. ; pascal OSErr GetMediaSample(Media theMedia, Handle dataOut, long maxSizeToGrow, long *size, TimeValue time, TimeValue *sampleTime, TimeValue *durationPerSample, SampleDescriptionHandle sampleDescriptionH, long *sampleDescriptionIndex, long maxNumberOfSamples, long *numberOfSamples, short *sampleFlags)
  2831. ;
  2832.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2833.         Macro
  2834.         _GetMediaSample
  2835.             moveq               #126,D0
  2836.             dc.w                $AAAA
  2837.         EndM
  2838.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2839.         IMPORT_CFM_FUNCTION GetMediaSample
  2840.     ENDIF
  2841.  
  2842. ;
  2843. ; pascal OSErr GetMediaSampleReference(Media theMedia, long *dataOffset, long *size, TimeValue time, TimeValue *sampleTime, TimeValue *durationPerSample, SampleDescriptionHandle sampleDescriptionH, long *sampleDescriptionIndex, long maxNumberOfSamples, long *numberOfSamples, short *sampleFlags)
  2844. ;
  2845.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2846.         Macro
  2847.         _GetMediaSampleReference
  2848.             moveq               #127,D0
  2849.             dc.w                $AAAA
  2850.         EndM
  2851.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2852.         IMPORT_CFM_FUNCTION GetMediaSampleReference
  2853.     ENDIF
  2854.  
  2855. ;
  2856. ; pascal OSErr GetMediaSampleReferences(Media theMedia, TimeValue time, TimeValue *sampleTime, SampleDescriptionHandle sampleDescriptionH, long *sampleDescriptionIndex, long maxNumberOfEntries, long *actualNumberofEntries, SampleReferencePtr sampleRefs)
  2857. ;
  2858.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2859.         Macro
  2860.         _GetMediaSampleReferences
  2861.             move.w              #$0235,D0
  2862.             dc.w                $AAAA
  2863.         EndM
  2864.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2865.         IMPORT_CFM_FUNCTION GetMediaSampleReferences
  2866.     ENDIF
  2867.  
  2868. ;
  2869. ; pascal OSErr SetMediaPreferredChunkSize(Media theMedia, long maxChunkSize)
  2870. ;
  2871.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2872.         Macro
  2873.         _SetMediaPreferredChunkSize
  2874.             move.w              #$01F8,D0
  2875.             dc.w                $AAAA
  2876.         EndM
  2877.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2878.         IMPORT_CFM_FUNCTION SetMediaPreferredChunkSize
  2879.     ENDIF
  2880.  
  2881. ;
  2882. ; pascal OSErr GetMediaPreferredChunkSize(Media theMedia, long *maxChunkSize)
  2883. ;
  2884.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2885.         Macro
  2886.         _GetMediaPreferredChunkSize
  2887.             move.w              #$01F9,D0
  2888.             dc.w                $AAAA
  2889.         EndM
  2890.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2891.         IMPORT_CFM_FUNCTION GetMediaPreferredChunkSize
  2892.     ENDIF
  2893.  
  2894. ;
  2895. ; pascal OSErr SetMediaShadowSync(Media theMedia, long frameDiffSampleNum, long syncSampleNum)
  2896. ;
  2897.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2898.         Macro
  2899.         _SetMediaShadowSync
  2900.             move.w              #$0121,D0
  2901.             dc.w                $AAAA
  2902.         EndM
  2903.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2904.         IMPORT_CFM_FUNCTION SetMediaShadowSync
  2905.     ENDIF
  2906.  
  2907. ;
  2908. ; pascal OSErr GetMediaShadowSync(Media theMedia, long frameDiffSampleNum, long *syncSampleNum)
  2909. ;
  2910.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2911.         Macro
  2912.         _GetMediaShadowSync
  2913.             move.w              #$0122,D0
  2914.             dc.w                $AAAA
  2915.         EndM
  2916.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2917.         IMPORT_CFM_FUNCTION GetMediaShadowSync
  2918.     ENDIF
  2919.  
  2920. ; *************************
  2921. ;* Editing Routines
  2922. ;*************************
  2923.  
  2924. ;
  2925. ; pascal OSErr InsertMediaIntoTrack(Track theTrack, TimeValue trackStart, TimeValue mediaTime, TimeValue mediaDuration, Fixed mediaRate)
  2926. ;
  2927.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2928.         Macro
  2929.         _InsertMediaIntoTrack
  2930.             move.w              #$0183,D0
  2931.             dc.w                $AAAA
  2932.         EndM
  2933.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2934.         IMPORT_CFM_FUNCTION InsertMediaIntoTrack
  2935.     ENDIF
  2936.  
  2937. ;
  2938. ; pascal OSErr InsertTrackSegment(Track srcTrack, Track dstTrack, TimeValue srcIn, TimeValue srcDuration, TimeValue dstIn)
  2939. ;
  2940.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2941.         Macro
  2942.         _InsertTrackSegment
  2943.             move.w              #$0085,D0
  2944.             dc.w                $AAAA
  2945.         EndM
  2946.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2947.         IMPORT_CFM_FUNCTION InsertTrackSegment
  2948.     ENDIF
  2949.  
  2950. ;
  2951. ; pascal OSErr InsertMovieSegment(Movie srcMovie, Movie dstMovie, TimeValue srcIn, TimeValue srcDuration, TimeValue dstIn)
  2952. ;
  2953.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2954.         Macro
  2955.         _InsertMovieSegment
  2956.             move.w              #$0086,D0
  2957.             dc.w                $AAAA
  2958.         EndM
  2959.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2960.         IMPORT_CFM_FUNCTION InsertMovieSegment
  2961.     ENDIF
  2962.  
  2963. ;
  2964. ; pascal OSErr InsertEmptyTrackSegment(Track dstTrack, TimeValue dstIn, TimeValue dstDuration)
  2965. ;
  2966.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2967.         Macro
  2968.         _InsertEmptyTrackSegment
  2969.             move.w              #$0087,D0
  2970.             dc.w                $AAAA
  2971.         EndM
  2972.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2973.         IMPORT_CFM_FUNCTION InsertEmptyTrackSegment
  2974.     ENDIF
  2975.  
  2976. ;
  2977. ; pascal OSErr InsertEmptyMovieSegment(Movie dstMovie, TimeValue dstIn, TimeValue dstDuration)
  2978. ;
  2979.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2980.         Macro
  2981.         _InsertEmptyMovieSegment
  2982.             move.w              #$0088,D0
  2983.             dc.w                $AAAA
  2984.         EndM
  2985.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2986.         IMPORT_CFM_FUNCTION InsertEmptyMovieSegment
  2987.     ENDIF
  2988.  
  2989. ;
  2990. ; pascal OSErr DeleteTrackSegment(Track theTrack, TimeValue startTime, TimeValue duration)
  2991. ;
  2992.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2993.         Macro
  2994.         _DeleteTrackSegment
  2995.             move.w              #$0089,D0
  2996.             dc.w                $AAAA
  2997.         EndM
  2998.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2999.         IMPORT_CFM_FUNCTION DeleteTrackSegment
  3000.     ENDIF
  3001.  
  3002. ;
  3003. ; pascal OSErr DeleteMovieSegment(Movie theMovie, TimeValue startTime, TimeValue duration)
  3004. ;
  3005.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3006.         Macro
  3007.         _DeleteMovieSegment
  3008.             move.w              #$008A,D0
  3009.             dc.w                $AAAA
  3010.         EndM
  3011.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3012.         IMPORT_CFM_FUNCTION DeleteMovieSegment
  3013.     ENDIF
  3014.  
  3015. ;
  3016. ; pascal OSErr ScaleTrackSegment(Track theTrack, TimeValue startTime, TimeValue oldDuration, TimeValue newDuration)
  3017. ;
  3018.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3019.         Macro
  3020.         _ScaleTrackSegment
  3021.             move.w              #$008B,D0
  3022.             dc.w                $AAAA
  3023.         EndM
  3024.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3025.         IMPORT_CFM_FUNCTION ScaleTrackSegment
  3026.     ENDIF
  3027.  
  3028. ;
  3029. ; pascal OSErr ScaleMovieSegment(Movie theMovie, TimeValue startTime, TimeValue oldDuration, TimeValue newDuration)
  3030. ;
  3031.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3032.         Macro
  3033.         _ScaleMovieSegment
  3034.             move.w              #$008C,D0
  3035.             dc.w                $AAAA
  3036.         EndM
  3037.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3038.         IMPORT_CFM_FUNCTION ScaleMovieSegment
  3039.     ENDIF
  3040.  
  3041.  
  3042. ; *************************
  3043. ;* Hi-level Editing Routines
  3044. ;*************************
  3045.  
  3046. ;
  3047. ; pascal Movie CutMovieSelection(Movie theMovie)
  3048. ;
  3049.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3050.         Macro
  3051.         _CutMovieSelection
  3052.             move.w              #$008D,D0
  3053.             dc.w                $AAAA
  3054.         EndM
  3055.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3056.         IMPORT_CFM_FUNCTION CutMovieSelection
  3057.     ENDIF
  3058.  
  3059. ;
  3060. ; pascal Movie CopyMovieSelection(Movie theMovie)
  3061. ;
  3062.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3063.         Macro
  3064.         _CopyMovieSelection
  3065.             move.w              #$008E,D0
  3066.             dc.w                $AAAA
  3067.         EndM
  3068.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3069.         IMPORT_CFM_FUNCTION CopyMovieSelection
  3070.     ENDIF
  3071.  
  3072. ;
  3073. ; pascal void PasteMovieSelection(Movie theMovie, Movie src)
  3074. ;
  3075.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3076.         Macro
  3077.         _PasteMovieSelection
  3078.             move.w              #$008F,D0
  3079.             dc.w                $AAAA
  3080.         EndM
  3081.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3082.         IMPORT_CFM_FUNCTION PasteMovieSelection
  3083.     ENDIF
  3084.  
  3085. ;
  3086. ; pascal void AddMovieSelection(Movie theMovie, Movie src)
  3087. ;
  3088.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3089.         Macro
  3090.         _AddMovieSelection
  3091.             move.w              #$0152,D0
  3092.             dc.w                $AAAA
  3093.         EndM
  3094.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3095.         IMPORT_CFM_FUNCTION AddMovieSelection
  3096.     ENDIF
  3097.  
  3098. ;
  3099. ; pascal void ClearMovieSelection(Movie theMovie)
  3100. ;
  3101.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3102.         Macro
  3103.         _ClearMovieSelection
  3104.             move.w              #$00E1,D0
  3105.             dc.w                $AAAA
  3106.         EndM
  3107.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3108.         IMPORT_CFM_FUNCTION ClearMovieSelection
  3109.     ENDIF
  3110.  
  3111. ;
  3112. ; pascal OSErr PasteHandleIntoMovie(Handle h, OSType handleType, Movie theMovie, long flags, ComponentInstance userComp)
  3113. ;
  3114.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3115.         Macro
  3116.         _PasteHandleIntoMovie
  3117.             move.w              #$00CB,D0
  3118.             dc.w                $AAAA
  3119.         EndM
  3120.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3121.         IMPORT_CFM_FUNCTION PasteHandleIntoMovie
  3122.     ENDIF
  3123.  
  3124. ;
  3125. ; pascal OSErr PutMovieIntoTypedHandle(Movie theMovie, Track targetTrack, OSType handleType, Handle publicMovie, TimeValue start, TimeValue dur, long flags, ComponentInstance userComp)
  3126. ;
  3127.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3128.         Macro
  3129.         _PutMovieIntoTypedHandle
  3130.             move.w              #$01CD,D0
  3131.             dc.w                $AAAA
  3132.         EndM
  3133.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3134.         IMPORT_CFM_FUNCTION PutMovieIntoTypedHandle
  3135.     ENDIF
  3136.  
  3137. ;
  3138. ; pascal Component IsScrapMovie(Track targetTrack)
  3139. ;
  3140.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3141.         Macro
  3142.         _IsScrapMovie
  3143.             move.w              #$00CC,D0
  3144.             dc.w                $AAAA
  3145.         EndM
  3146.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3147.         IMPORT_CFM_FUNCTION IsScrapMovie
  3148.     ENDIF
  3149.  
  3150. ; *************************
  3151. ;* Middle-level Editing Routines
  3152. ;*************************
  3153.  
  3154. ;
  3155. ; pascal OSErr CopyTrackSettings(Track srcTrack, Track dstTrack)
  3156. ;
  3157.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3158.         Macro
  3159.         _CopyTrackSettings
  3160.             move.w              #$0153,D0
  3161.             dc.w                $AAAA
  3162.         EndM
  3163.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3164.         IMPORT_CFM_FUNCTION CopyTrackSettings
  3165.     ENDIF
  3166.  
  3167. ;
  3168. ; pascal OSErr CopyMovieSettings(Movie srcMovie, Movie dstMovie)
  3169. ;
  3170.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3171.         Macro
  3172.         _CopyMovieSettings
  3173.             move.w              #$0154,D0
  3174.             dc.w                $AAAA
  3175.         EndM
  3176.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3177.         IMPORT_CFM_FUNCTION CopyMovieSettings
  3178.     ENDIF
  3179.  
  3180. ;
  3181. ; pascal OSErr AddEmptyTrackToMovie(Track srcTrack, Movie dstMovie, Handle dataRef, OSType dataRefType, Track *dstTrack)
  3182. ;
  3183.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3184.         Macro
  3185.         _AddEmptyTrackToMovie
  3186.             moveq               #116,D0
  3187.             dc.w                $AAAA
  3188.         EndM
  3189.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3190.         IMPORT_CFM_FUNCTION AddEmptyTrackToMovie
  3191.     ENDIF
  3192.  
  3193. ; *************************
  3194. ;* movie & track edit state routines
  3195. ;*************************
  3196.  
  3197. ;
  3198. ; pascal MovieEditState NewMovieEditState(Movie theMovie)
  3199. ;
  3200.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3201.         Macro
  3202.         _NewMovieEditState
  3203.             move.w              #$0104,D0
  3204.             dc.w                $AAAA
  3205.         EndM
  3206.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3207.         IMPORT_CFM_FUNCTION NewMovieEditState
  3208.     ENDIF
  3209.  
  3210. ;
  3211. ; pascal OSErr UseMovieEditState(Movie theMovie, MovieEditState toState)
  3212. ;
  3213.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3214.         Macro
  3215.         _UseMovieEditState
  3216.             move.w              #$0105,D0
  3217.             dc.w                $AAAA
  3218.         EndM
  3219.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3220.         IMPORT_CFM_FUNCTION UseMovieEditState
  3221.     ENDIF
  3222.  
  3223. ;
  3224. ; pascal OSErr DisposeMovieEditState(MovieEditState state)
  3225. ;
  3226.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3227.         Macro
  3228.         _DisposeMovieEditState
  3229.             move.w              #$0106,D0
  3230.             dc.w                $AAAA
  3231.         EndM
  3232.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3233.         IMPORT_CFM_FUNCTION DisposeMovieEditState
  3234.     ENDIF
  3235.  
  3236. ;
  3237. ; pascal TrackEditState NewTrackEditState(Track theTrack)
  3238. ;
  3239.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3240.         Macro
  3241.         _NewTrackEditState
  3242.             move.w              #$0107,D0
  3243.             dc.w                $AAAA
  3244.         EndM
  3245.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3246.         IMPORT_CFM_FUNCTION NewTrackEditState
  3247.     ENDIF
  3248.  
  3249. ;
  3250. ; pascal OSErr UseTrackEditState(Track theTrack, TrackEditState state)
  3251. ;
  3252.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3253.         Macro
  3254.         _UseTrackEditState
  3255.             move.w              #$0108,D0
  3256.             dc.w                $AAAA
  3257.         EndM
  3258.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3259.         IMPORT_CFM_FUNCTION UseTrackEditState
  3260.     ENDIF
  3261.  
  3262. ;
  3263. ; pascal OSErr DisposeTrackEditState(TrackEditState state)
  3264. ;
  3265.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3266.         Macro
  3267.         _DisposeTrackEditState
  3268.             move.w              #$0109,D0
  3269.             dc.w                $AAAA
  3270.         EndM
  3271.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3272.         IMPORT_CFM_FUNCTION DisposeTrackEditState
  3273.     ENDIF
  3274.  
  3275. ; *************************
  3276. ;* track reference routines
  3277. ;*************************
  3278.  
  3279. ;
  3280. ; pascal OSErr AddTrackReference(Track theTrack, Track refTrack, OSType refType, long *addedIndex)
  3281. ;
  3282.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3283.         Macro
  3284.         _AddTrackReference
  3285.             move.w              #$01F0,D0
  3286.             dc.w                $AAAA
  3287.         EndM
  3288.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3289.         IMPORT_CFM_FUNCTION AddTrackReference
  3290.     ENDIF
  3291.  
  3292. ;
  3293. ; pascal OSErr DeleteTrackReference(Track theTrack, OSType refType, long index)
  3294. ;
  3295.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3296.         Macro
  3297.         _DeleteTrackReference
  3298.             move.w              #$01F1,D0
  3299.             dc.w                $AAAA
  3300.         EndM
  3301.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3302.         IMPORT_CFM_FUNCTION DeleteTrackReference
  3303.     ENDIF
  3304.  
  3305. ;
  3306. ; pascal OSErr SetTrackReference(Track theTrack, Track refTrack, OSType refType, long index)
  3307. ;
  3308.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3309.         Macro
  3310.         _SetTrackReference
  3311.             move.w              #$01F2,D0
  3312.             dc.w                $AAAA
  3313.         EndM
  3314.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3315.         IMPORT_CFM_FUNCTION SetTrackReference
  3316.     ENDIF
  3317.  
  3318. ;
  3319. ; pascal Track GetTrackReference(Track theTrack, OSType refType, long index)
  3320. ;
  3321.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3322.         Macro
  3323.         _GetTrackReference
  3324.             move.w              #$01F3,D0
  3325.             dc.w                $AAAA
  3326.         EndM
  3327.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3328.         IMPORT_CFM_FUNCTION GetTrackReference
  3329.     ENDIF
  3330.  
  3331. ;
  3332. ; pascal OSType GetNextTrackReferenceType(Track theTrack, OSType refType)
  3333. ;
  3334.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3335.         Macro
  3336.         _GetNextTrackReferenceType
  3337.             move.w              #$01F4,D0
  3338.             dc.w                $AAAA
  3339.         EndM
  3340.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3341.         IMPORT_CFM_FUNCTION GetNextTrackReferenceType
  3342.     ENDIF
  3343.  
  3344. ;
  3345. ; pascal long GetTrackReferenceCount(Track theTrack, OSType refType)
  3346. ;
  3347.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3348.         Macro
  3349.         _GetTrackReferenceCount
  3350.             move.w              #$01F5,D0
  3351.             dc.w                $AAAA
  3352.         EndM
  3353.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3354.         IMPORT_CFM_FUNCTION GetTrackReferenceCount
  3355.     ENDIF
  3356.  
  3357.  
  3358. ; *************************
  3359. ;* high level file conversion routines
  3360. ;*************************
  3361.  
  3362. ;
  3363. ; pascal OSErr ConvertFileToMovieFile(const FSSpec *inputFile, const FSSpec *outputFile, OSType creator, ScriptCode scriptTag, short *resID, long flags, ComponentInstance userComp, MovieProgressUPP proc, long refCon)
  3364. ;
  3365.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3366.         Macro
  3367.         _ConvertFileToMovieFile
  3368.             move.w              #$01CB,D0
  3369.             dc.w                $AAAA
  3370.         EndM
  3371.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3372.         IMPORT_CFM_FUNCTION ConvertFileToMovieFile
  3373.     ENDIF
  3374.  
  3375. ;
  3376. ; pascal OSErr ConvertMovieToFile(Movie theMovie, Track onlyTrack, FSSpec *outputFile, OSType fileType, OSType creator, ScriptCode scriptTag, short *resID, long flags, ComponentInstance userComp)
  3377. ;
  3378.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3379.         Macro
  3380.         _ConvertMovieToFile
  3381.             move.w              #$01CC,D0
  3382.             dc.w                $AAAA
  3383.         EndM
  3384.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3385.         IMPORT_CFM_FUNCTION ConvertMovieToFile
  3386.     ENDIF
  3387.  
  3388.  
  3389. kGetMovieImporterValidateToFind    EQU        $00000001
  3390. kGetMovieImporterAllowNewFile    EQU        $00000002
  3391. kGetMovieImporterDontConsiderGraphicsImporters EQU $00000004
  3392. ;
  3393. ; pascal OSErr GetMovieImporterForDataRef(OSType dataRefType, Handle dataRef, long flags, Component *importer)
  3394. ;
  3395.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3396.         Macro
  3397.         _GetMovieImporterForDataRef
  3398.             move.w              #$02C7,D0
  3399.             dc.w                $AAAA
  3400.         EndM
  3401.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3402.         IMPORT_CFM_FUNCTION GetMovieImporterForDataRef
  3403.     ENDIF
  3404.  
  3405. ; *************************
  3406. ;* Movie Timebase Conversion Routines
  3407. ;*************************
  3408.  
  3409. ;
  3410. ; pascal TimeValue TrackTimeToMediaTime(TimeValue value, Track theTrack)
  3411. ;
  3412.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3413.         Macro
  3414.         _TrackTimeToMediaTime
  3415.             move.w              #$0096,D0
  3416.             dc.w                $AAAA
  3417.         EndM
  3418.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3419.         IMPORT_CFM_FUNCTION TrackTimeToMediaTime
  3420.     ENDIF
  3421.  
  3422. ;
  3423. ; pascal Fixed GetTrackEditRate(Track theTrack, TimeValue atTime)
  3424. ;
  3425.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3426.         Macro
  3427.         _GetTrackEditRate
  3428.             move.w              #$0123,D0
  3429.             dc.w                $AAAA
  3430.         EndM
  3431.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3432.         IMPORT_CFM_FUNCTION GetTrackEditRate
  3433.     ENDIF
  3434.  
  3435.  
  3436. ; *************************
  3437. ;* Miscellaneous Routines
  3438. ;*************************
  3439.  
  3440.  
  3441. ;
  3442. ; pascal long GetMovieDataSize(Movie theMovie, TimeValue startTime, TimeValue duration)
  3443. ;
  3444.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3445.         Macro
  3446.         _GetMovieDataSize
  3447.             move.w              #$0098,D0
  3448.             dc.w                $AAAA
  3449.         EndM
  3450.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3451.         IMPORT_CFM_FUNCTION GetMovieDataSize
  3452.     ENDIF
  3453.  
  3454. ;
  3455. ; pascal long GetTrackDataSize(Track theTrack, TimeValue startTime, TimeValue duration)
  3456. ;
  3457.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3458.         Macro
  3459.         _GetTrackDataSize
  3460.             move.w              #$0149,D0
  3461.             dc.w                $AAAA
  3462.         EndM
  3463.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3464.         IMPORT_CFM_FUNCTION GetTrackDataSize
  3465.     ENDIF
  3466.  
  3467. ;
  3468. ; pascal long GetMediaDataSize(Media theMedia, TimeValue startTime, TimeValue duration)
  3469. ;
  3470.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3471.         Macro
  3472.         _GetMediaDataSize
  3473.             move.w              #$0099,D0
  3474.             dc.w                $AAAA
  3475.         EndM
  3476.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3477.         IMPORT_CFM_FUNCTION GetMediaDataSize
  3478.     ENDIF
  3479.  
  3480. ;
  3481. ; pascal Boolean PtInMovie(Movie theMovie, Point pt)
  3482. ;
  3483.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3484.         Macro
  3485.         _PtInMovie
  3486.             move.w              #$009A,D0
  3487.             dc.w                $AAAA
  3488.         EndM
  3489.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3490.         IMPORT_CFM_FUNCTION PtInMovie
  3491.     ENDIF
  3492.  
  3493. ;
  3494. ; pascal Boolean PtInTrack(Track theTrack, Point pt)
  3495. ;
  3496.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3497.         Macro
  3498.         _PtInTrack
  3499.             move.w              #$009B,D0
  3500.             dc.w                $AAAA
  3501.         EndM
  3502.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3503.         IMPORT_CFM_FUNCTION PtInTrack
  3504.     ENDIF
  3505.  
  3506.  
  3507. ; *************************
  3508. ;* Group Selection Routines
  3509. ;*************************
  3510.  
  3511.  
  3512. ;
  3513. ; pascal void SetMovieLanguage(Movie theMovie, long language)
  3514. ;
  3515.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3516.         Macro
  3517.         _SetMovieLanguage
  3518.             move.w              #$009C,D0
  3519.             dc.w                $AAAA
  3520.         EndM
  3521.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3522.         IMPORT_CFM_FUNCTION SetMovieLanguage
  3523.     ENDIF
  3524.  
  3525.  
  3526. ; *************************
  3527. ;* User Data
  3528. ;*************************
  3529.  
  3530.  
  3531. ;
  3532. ; pascal OSErr GetUserData(UserData theUserData, Handle data, OSType udType, long index)
  3533. ;
  3534.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3535.         Macro
  3536.         _GetUserData
  3537.             move.w              #$009E,D0
  3538.             dc.w                $AAAA
  3539.         EndM
  3540.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3541.         IMPORT_CFM_FUNCTION GetUserData
  3542.     ENDIF
  3543.  
  3544. ;
  3545. ; pascal OSErr AddUserData(UserData theUserData, Handle data, OSType udType)
  3546. ;
  3547.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3548.         Macro
  3549.         _AddUserData
  3550.             move.w              #$009F,D0
  3551.             dc.w                $AAAA
  3552.         EndM
  3553.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3554.         IMPORT_CFM_FUNCTION AddUserData
  3555.     ENDIF
  3556.  
  3557. ;
  3558. ; pascal OSErr RemoveUserData(UserData theUserData, OSType udType, long index)
  3559. ;
  3560.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3561.         Macro
  3562.         _RemoveUserData
  3563.             move.w              #$00A0,D0
  3564.             dc.w                $AAAA
  3565.         EndM
  3566.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3567.         IMPORT_CFM_FUNCTION RemoveUserData
  3568.     ENDIF
  3569.  
  3570. ;
  3571. ; pascal short CountUserDataType(UserData theUserData, OSType udType)
  3572. ;
  3573.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3574.         Macro
  3575.         _CountUserDataType
  3576.             move.w              #$014B,D0
  3577.             dc.w                $AAAA
  3578.         EndM
  3579.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3580.         IMPORT_CFM_FUNCTION CountUserDataType
  3581.     ENDIF
  3582.  
  3583. ;
  3584. ; pascal long GetNextUserDataType(UserData theUserData, OSType udType)
  3585. ;
  3586.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3587.         Macro
  3588.         _GetNextUserDataType
  3589.             move.w              #$01A5,D0
  3590.             dc.w                $AAAA
  3591.         EndM
  3592.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3593.         IMPORT_CFM_FUNCTION GetNextUserDataType
  3594.     ENDIF
  3595.  
  3596. ;
  3597. ; pascal OSErr GetUserDataItem(UserData theUserData, void *data, long size, OSType udType, long index)
  3598. ;
  3599.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3600.         Macro
  3601.         _GetUserDataItem
  3602.             move.w              #$0126,D0
  3603.             dc.w                $AAAA
  3604.         EndM
  3605.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3606.         IMPORT_CFM_FUNCTION GetUserDataItem
  3607.     ENDIF
  3608.  
  3609. ;
  3610. ; pascal OSErr SetUserDataItem(UserData theUserData, void *data, long size, OSType udType, long index)
  3611. ;
  3612.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3613.         Macro
  3614.         _SetUserDataItem
  3615.             move.w              #$012E,D0
  3616.             dc.w                $AAAA
  3617.         EndM
  3618.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3619.         IMPORT_CFM_FUNCTION SetUserDataItem
  3620.     ENDIF
  3621.  
  3622. ;
  3623. ; pascal OSErr AddUserDataText(UserData theUserData, Handle data, OSType udType, long index, short itlRegionTag)
  3624. ;
  3625.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3626.         Macro
  3627.         _AddUserDataText
  3628.             move.w              #$014C,D0
  3629.             dc.w                $AAAA
  3630.         EndM
  3631.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3632.         IMPORT_CFM_FUNCTION AddUserDataText
  3633.     ENDIF
  3634.  
  3635. ;
  3636. ; pascal OSErr GetUserDataText(UserData theUserData, Handle data, OSType udType, long index, short itlRegionTag)
  3637. ;
  3638.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3639.         Macro
  3640.         _GetUserDataText
  3641.             move.w              #$014D,D0
  3642.             dc.w                $AAAA
  3643.         EndM
  3644.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3645.         IMPORT_CFM_FUNCTION GetUserDataText
  3646.     ENDIF
  3647.  
  3648. ;
  3649. ; pascal OSErr RemoveUserDataText(UserData theUserData, OSType udType, long index, short itlRegionTag)
  3650. ;
  3651.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3652.         Macro
  3653.         _RemoveUserDataText
  3654.             move.w              #$014E,D0
  3655.             dc.w                $AAAA
  3656.         EndM
  3657.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3658.         IMPORT_CFM_FUNCTION RemoveUserDataText
  3659.     ENDIF
  3660.  
  3661. ;
  3662. ; pascal OSErr NewUserData(UserData *theUserData)
  3663. ;
  3664.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3665.         Macro
  3666.         _NewUserData
  3667.             move.w              #$012F,D0
  3668.             dc.w                $AAAA
  3669.         EndM
  3670.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3671.         IMPORT_CFM_FUNCTION NewUserData
  3672.     ENDIF
  3673.  
  3674. ;
  3675. ; pascal OSErr DisposeUserData(UserData theUserData)
  3676. ;
  3677.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3678.         Macro
  3679.         _DisposeUserData
  3680.             move.w              #$0130,D0
  3681.             dc.w                $AAAA
  3682.         EndM
  3683.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3684.         IMPORT_CFM_FUNCTION DisposeUserData
  3685.     ENDIF
  3686.  
  3687. ;
  3688. ; pascal OSErr NewUserDataFromHandle(Handle h, UserData *theUserData)
  3689. ;
  3690.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3691.         Macro
  3692.         _NewUserDataFromHandle
  3693.             move.w              #$0131,D0
  3694.             dc.w                $AAAA
  3695.         EndM
  3696.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3697.         IMPORT_CFM_FUNCTION NewUserDataFromHandle
  3698.     ENDIF
  3699.  
  3700. ;
  3701. ; pascal OSErr PutUserDataIntoHandle(UserData theUserData, Handle h)
  3702. ;
  3703.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3704.         Macro
  3705.         _PutUserDataIntoHandle
  3706.             move.w              #$0132,D0
  3707.             dc.w                $AAAA
  3708.         EndM
  3709.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3710.         IMPORT_CFM_FUNCTION PutUserDataIntoHandle
  3711.     ENDIF
  3712.  
  3713. ;
  3714. ; pascal void GetMediaNextInterestingTime(Media theMedia, short interestingTimeFlags, TimeValue time, Fixed rate, TimeValue *interestingTime, TimeValue *interestingDuration)
  3715. ;
  3716.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3717.         Macro
  3718.         _GetMediaNextInterestingTime
  3719.             move.w              #$016D,D0
  3720.             dc.w                $AAAA
  3721.         EndM
  3722.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3723.         IMPORT_CFM_FUNCTION GetMediaNextInterestingTime
  3724.     ENDIF
  3725.  
  3726. ;
  3727. ; pascal void GetTrackNextInterestingTime(Track theTrack, short interestingTimeFlags, TimeValue time, Fixed rate, TimeValue *interestingTime, TimeValue *interestingDuration)
  3728. ;
  3729.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3730.         Macro
  3731.         _GetTrackNextInterestingTime
  3732.             move.w              #$00E2,D0
  3733.             dc.w                $AAAA
  3734.         EndM
  3735.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3736.         IMPORT_CFM_FUNCTION GetTrackNextInterestingTime
  3737.     ENDIF
  3738.  
  3739. ;
  3740. ; pascal void GetMovieNextInterestingTime(Movie theMovie, short interestingTimeFlags, short numMediaTypes, const OSType *whichMediaTypes, TimeValue time, Fixed rate, TimeValue *interestingTime, TimeValue *interestingDuration)
  3741. ;
  3742.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3743.         Macro
  3744.         _GetMovieNextInterestingTime
  3745.             move.w              #$010E,D0
  3746.             dc.w                $AAAA
  3747.         EndM
  3748.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3749.         IMPORT_CFM_FUNCTION GetMovieNextInterestingTime
  3750.     ENDIF
  3751.  
  3752.  
  3753. ;
  3754. ; pascal OSErr CreateMovieFile(const FSSpec *fileSpec, OSType creator, ScriptCode scriptTag, long createMovieFileFlags, short *resRefNum, Movie *newmovie)
  3755. ;
  3756.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3757.         Macro
  3758.         _CreateMovieFile
  3759.             move.w              #$0191,D0
  3760.             dc.w                $AAAA
  3761.         EndM
  3762.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3763.         IMPORT_CFM_FUNCTION CreateMovieFile
  3764.     ENDIF
  3765.  
  3766. ;
  3767. ; pascal OSErr OpenMovieFile(const FSSpec *fileSpec, short *resRefNum, SInt8 permission)
  3768. ;
  3769.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3770.         Macro
  3771.         _OpenMovieFile
  3772.             move.w              #$0192,D0
  3773.             dc.w                $AAAA
  3774.         EndM
  3775.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3776.         IMPORT_CFM_FUNCTION OpenMovieFile
  3777.     ENDIF
  3778.  
  3779. ;
  3780. ; pascal OSErr CloseMovieFile(short resRefNum)
  3781. ;
  3782.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3783.         Macro
  3784.         _CloseMovieFile
  3785.             move.w              #$00D5,D0
  3786.             dc.w                $AAAA
  3787.         EndM
  3788.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3789.         IMPORT_CFM_FUNCTION CloseMovieFile
  3790.     ENDIF
  3791.  
  3792. ;
  3793. ; pascal OSErr DeleteMovieFile(const FSSpec *fileSpec)
  3794. ;
  3795.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3796.         Macro
  3797.         _DeleteMovieFile
  3798.             move.w              #$0175,D0
  3799.             dc.w                $AAAA
  3800.         EndM
  3801.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3802.         IMPORT_CFM_FUNCTION DeleteMovieFile
  3803.     ENDIF
  3804.  
  3805. ;
  3806. ; pascal OSErr NewMovieFromFile(Movie *theMovie, short resRefNum, short *resId, StringPtr resName, short newMovieFlags, Boolean *dataRefWasChanged)
  3807. ;
  3808.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3809.         Macro
  3810.         _NewMovieFromFile
  3811.             move.w              #$00F0,D0
  3812.             dc.w                $AAAA
  3813.         EndM
  3814.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3815.         IMPORT_CFM_FUNCTION NewMovieFromFile
  3816.     ENDIF
  3817.  
  3818. ;
  3819. ; pascal OSErr NewMovieFromHandle(Movie *theMovie, Handle h, short newMovieFlags, Boolean *dataRefWasChanged)
  3820. ;
  3821.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3822.         Macro
  3823.         _NewMovieFromHandle
  3824.             move.w              #$00F1,D0
  3825.             dc.w                $AAAA
  3826.         EndM
  3827.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3828.         IMPORT_CFM_FUNCTION NewMovieFromHandle
  3829.     ENDIF
  3830.  
  3831. ;
  3832. ; pascal OSErr NewMovieFromDataFork(Movie *theMovie, short fRefNum, long fileOffset, short newMovieFlags, Boolean *dataRefWasChanged)
  3833. ;
  3834.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3835.         Macro
  3836.         _NewMovieFromDataFork
  3837.             move.w              #$01B3,D0
  3838.             dc.w                $AAAA
  3839.         EndM
  3840.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3841.         IMPORT_CFM_FUNCTION NewMovieFromDataFork
  3842.     ENDIF
  3843.  
  3844. ;
  3845. ; pascal OSErr NewMovieFromUserProc(Movie *m, short flags, Boolean *dataRefWasChanged, GetMovieUPP getProc, void *refCon, Handle defaultDataRef, OSType dataRefType)
  3846. ;
  3847.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3848.         Macro
  3849.         _NewMovieFromUserProc
  3850.             move.w              #$01EC,D0
  3851.             dc.w                $AAAA
  3852.         EndM
  3853.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3854.         IMPORT_CFM_FUNCTION NewMovieFromUserProc
  3855.     ENDIF
  3856.  
  3857. ;
  3858. ; pascal OSErr NewMovieFromDataRef(Movie *m, short flags, short *id, Handle dataRef, OSType dataRefType)
  3859. ;
  3860.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3861.         Macro
  3862.         _NewMovieFromDataRef
  3863.             move.w              #$0220,D0
  3864.             dc.w                $AAAA
  3865.         EndM
  3866.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3867.         IMPORT_CFM_FUNCTION NewMovieFromDataRef
  3868.     ENDIF
  3869.  
  3870. ;
  3871. ; pascal OSErr AddMovieResource(Movie theMovie, short resRefNum, short *resId, ConstStr255Param resName)
  3872. ;
  3873.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3874.         Macro
  3875.         _AddMovieResource
  3876.             move.w              #$00D7,D0
  3877.             dc.w                $AAAA
  3878.         EndM
  3879.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3880.         IMPORT_CFM_FUNCTION AddMovieResource
  3881.     ENDIF
  3882.  
  3883. ;
  3884. ; pascal OSErr UpdateMovieResource(Movie theMovie, short resRefNum, short resId, ConstStr255Param resName)
  3885. ;
  3886.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3887.         Macro
  3888.         _UpdateMovieResource
  3889.             move.w              #$00D8,D0
  3890.             dc.w                $AAAA
  3891.         EndM
  3892.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3893.         IMPORT_CFM_FUNCTION UpdateMovieResource
  3894.     ENDIF
  3895.  
  3896. ;
  3897. ; pascal OSErr RemoveMovieResource(short resRefNum, short resId)
  3898. ;
  3899.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3900.         Macro
  3901.         _RemoveMovieResource
  3902.             move.w              #$0176,D0
  3903.             dc.w                $AAAA
  3904.         EndM
  3905.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3906.         IMPORT_CFM_FUNCTION RemoveMovieResource
  3907.     ENDIF
  3908.  
  3909. ;
  3910. ; pascal Boolean HasMovieChanged(Movie theMovie)
  3911. ;
  3912.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3913.         Macro
  3914.         _HasMovieChanged
  3915.             move.w              #$00D9,D0
  3916.             dc.w                $AAAA
  3917.         EndM
  3918.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3919.         IMPORT_CFM_FUNCTION HasMovieChanged
  3920.     ENDIF
  3921.  
  3922. ;
  3923. ; pascal void ClearMovieChanged(Movie theMovie)
  3924. ;
  3925.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3926.         Macro
  3927.         _ClearMovieChanged
  3928.             move.w              #$0113,D0
  3929.             dc.w                $AAAA
  3930.         EndM
  3931.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3932.         IMPORT_CFM_FUNCTION ClearMovieChanged
  3933.     ENDIF
  3934.  
  3935. ;
  3936. ; pascal OSErr SetMovieDefaultDataRef(Movie theMovie, Handle dataRef, OSType dataRefType)
  3937. ;
  3938.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3939.         Macro
  3940.         _SetMovieDefaultDataRef
  3941.             move.w              #$01C1,D0
  3942.             dc.w                $AAAA
  3943.         EndM
  3944.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3945.         IMPORT_CFM_FUNCTION SetMovieDefaultDataRef
  3946.     ENDIF
  3947.  
  3948. ;
  3949. ; pascal OSErr GetMovieDefaultDataRef(Movie theMovie, Handle *dataRef, OSType *dataRefType)
  3950. ;
  3951.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3952.         Macro
  3953.         _GetMovieDefaultDataRef
  3954.             move.w              #$01D2,D0
  3955.             dc.w                $AAAA
  3956.         EndM
  3957.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3958.         IMPORT_CFM_FUNCTION GetMovieDefaultDataRef
  3959.     ENDIF
  3960.  
  3961. ;
  3962. ; pascal OSErr SetMovieColorTable(Movie theMovie, CTabHandle ctab)
  3963. ;
  3964.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3965.         Macro
  3966.         _SetMovieColorTable
  3967.             move.w              #$0205,D0
  3968.             dc.w                $AAAA
  3969.         EndM
  3970.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3971.         IMPORT_CFM_FUNCTION SetMovieColorTable
  3972.     ENDIF
  3973.  
  3974. ;
  3975. ; pascal OSErr GetMovieColorTable(Movie theMovie, CTabHandle *ctab)
  3976. ;
  3977.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3978.         Macro
  3979.         _GetMovieColorTable
  3980.             move.w              #$0206,D0
  3981.             dc.w                $AAAA
  3982.         EndM
  3983.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3984.         IMPORT_CFM_FUNCTION GetMovieColorTable
  3985.     ENDIF
  3986.  
  3987. ;
  3988. ; pascal void FlattenMovie(Movie theMovie, long movieFlattenFlags, const FSSpec *theFile, OSType creator, ScriptCode scriptTag, long createMovieFileFlags, short *resId, ConstStr255Param resName)
  3989. ;
  3990.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3991.         Macro
  3992.         _FlattenMovie
  3993.             move.w              #$019B,D0
  3994.             dc.w                $AAAA
  3995.         EndM
  3996.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3997.         IMPORT_CFM_FUNCTION FlattenMovie
  3998.     ENDIF
  3999.  
  4000. ;
  4001. ; pascal Movie FlattenMovieData(Movie theMovie, long movieFlattenFlags, const FSSpec *theFile, OSType creator, ScriptCode scriptTag, long createMovieFileFlags)
  4002. ;
  4003.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4004.         Macro
  4005.         _FlattenMovieData
  4006.             move.w              #$019C,D0
  4007.             dc.w                $AAAA
  4008.         EndM
  4009.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4010.         IMPORT_CFM_FUNCTION FlattenMovieData
  4011.     ENDIF
  4012.  
  4013. ;
  4014. ; pascal void SetMovieProgressProc(Movie theMovie, MovieProgressUPP p, long refcon)
  4015. ;
  4016.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4017.         Macro
  4018.         _SetMovieProgressProc
  4019.             move.w              #$019A,D0
  4020.             dc.w                $AAAA
  4021.         EndM
  4022.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4023.         IMPORT_CFM_FUNCTION SetMovieProgressProc
  4024.     ENDIF
  4025.  
  4026. ;
  4027. ; pascal OSErr MovieSearchText(Movie theMovie, Ptr text, long size, long searchFlags, Track *searchTrack, TimeValue *searchTime, long *searchOffset)
  4028. ;
  4029.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4030.         Macro
  4031.         _MovieSearchText
  4032.             move.w              #$0207,D0
  4033.             dc.w                $AAAA
  4034.         EndM
  4035.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4036.         IMPORT_CFM_FUNCTION MovieSearchText
  4037.     ENDIF
  4038.  
  4039. ;
  4040. ; pascal void GetPosterBox(Movie theMovie, Rect *boxRect)
  4041. ;
  4042.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4043.         Macro
  4044.         _GetPosterBox
  4045.             move.w              #$016F,D0
  4046.             dc.w                $AAAA
  4047.         EndM
  4048.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4049.         IMPORT_CFM_FUNCTION GetPosterBox
  4050.     ENDIF
  4051.  
  4052. ;
  4053. ; pascal void SetPosterBox(Movie theMovie, const Rect *boxRect)
  4054. ;
  4055.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4056.         Macro
  4057.         _SetPosterBox
  4058.             move.w              #$0170,D0
  4059.             dc.w                $AAAA
  4060.         EndM
  4061.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4062.         IMPORT_CFM_FUNCTION SetPosterBox
  4063.     ENDIF
  4064.  
  4065. ;
  4066. ; pascal RgnHandle GetMovieSegmentDisplayBoundsRgn(Movie theMovie, TimeValue time, TimeValue duration)
  4067. ;
  4068.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4069.         Macro
  4070.         _GetMovieSegmentDisplayBoundsRgn
  4071.             move.w              #$016C,D0
  4072.             dc.w                $AAAA
  4073.         EndM
  4074.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4075.         IMPORT_CFM_FUNCTION GetMovieSegmentDisplayBoundsRgn
  4076.     ENDIF
  4077.  
  4078. ;
  4079. ; pascal RgnHandle GetTrackSegmentDisplayBoundsRgn(Track theTrack, TimeValue time, TimeValue duration)
  4080. ;
  4081.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4082.         Macro
  4083.         _GetTrackSegmentDisplayBoundsRgn
  4084.             move.w              #$016B,D0
  4085.             dc.w                $AAAA
  4086.         EndM
  4087.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4088.         IMPORT_CFM_FUNCTION GetTrackSegmentDisplayBoundsRgn
  4089.     ENDIF
  4090.  
  4091. ;
  4092. ; pascal void SetMovieCoverProcs(Movie theMovie, MovieRgnCoverUPP uncoverProc, MovieRgnCoverUPP coverProc, long refcon)
  4093. ;
  4094.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4095.         Macro
  4096.         _SetMovieCoverProcs
  4097.             move.w              #$0179,D0
  4098.             dc.w                $AAAA
  4099.         EndM
  4100.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4101.         IMPORT_CFM_FUNCTION SetMovieCoverProcs
  4102.     ENDIF
  4103.  
  4104. ;
  4105. ; pascal OSErr GetMovieCoverProcs(Movie theMovie, MovieRgnCoverUPP *uncoverProc, MovieRgnCoverUPP *coverProc, long *refcon)
  4106. ;
  4107.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4108.         Macro
  4109.         _GetMovieCoverProcs
  4110.             move.w              #$01DD,D0
  4111.             dc.w                $AAAA
  4112.         EndM
  4113.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4114.         IMPORT_CFM_FUNCTION GetMovieCoverProcs
  4115.     ENDIF
  4116.  
  4117. ;
  4118. ; pascal ComponentResult GetTrackStatus(Track theTrack)
  4119. ;
  4120.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4121.         Macro
  4122.         _GetTrackStatus
  4123.             move.w              #$0172,D0
  4124.             dc.w                $AAAA
  4125.         EndM
  4126.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4127.         IMPORT_CFM_FUNCTION GetTrackStatus
  4128.     ENDIF
  4129.  
  4130. ;
  4131. ; pascal ComponentResult GetMovieStatus(Movie theMovie, Track *firstProblemTrack)
  4132. ;
  4133.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4134.         Macro
  4135.         _GetMovieStatus
  4136.             move.w              #$0173,D0
  4137.             dc.w                $AAAA
  4138.         EndM
  4139.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4140.         IMPORT_CFM_FUNCTION GetMovieStatus
  4141.     ENDIF
  4142.  
  4143. ; ***
  4144. ;    Movie Controller support routines
  4145. ;***
  4146.  
  4147. ;
  4148. ; pascal ComponentInstance NewMovieController(Movie theMovie, const Rect *movieRect, long someFlags)
  4149. ;
  4150.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4151.         Macro
  4152.         _NewMovieController
  4153.             move.w              #$018A,D0
  4154.             dc.w                $AAAA
  4155.         EndM
  4156.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4157.         IMPORT_CFM_FUNCTION NewMovieController
  4158.     ENDIF
  4159.  
  4160. ;
  4161. ; pascal void DisposeMovieController(ComponentInstance mc)
  4162. ;
  4163.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4164.         Macro
  4165.         _DisposeMovieController
  4166.             move.w              #$018B,D0
  4167.             dc.w                $AAAA
  4168.         EndM
  4169.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4170.         IMPORT_CFM_FUNCTION DisposeMovieController
  4171.     ENDIF
  4172.  
  4173. ;
  4174. ; pascal void ShowMovieInformation(Movie theMovie, ModalFilterUPP filterProc, long refCon)
  4175. ;
  4176.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4177.         Macro
  4178.         _ShowMovieInformation
  4179.             move.w              #$0209,D0
  4180.             dc.w                $AAAA
  4181.         EndM
  4182.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4183.         IMPORT_CFM_FUNCTION ShowMovieInformation
  4184.     ENDIF
  4185.  
  4186.  
  4187. ; *****
  4188. ;    Scrap routines
  4189. ;****
  4190.  
  4191. ;
  4192. ; pascal OSErr PutMovieOnScrap(Movie theMovie, long movieScrapFlags)
  4193. ;
  4194.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4195.         Macro
  4196.         _PutMovieOnScrap
  4197.             move.w              #$018C,D0
  4198.             dc.w                $AAAA
  4199.         EndM
  4200.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4201.         IMPORT_CFM_FUNCTION PutMovieOnScrap
  4202.     ENDIF
  4203.  
  4204. ;
  4205. ; pascal Movie NewMovieFromScrap(long newMovieFlags)
  4206. ;
  4207.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4208.         Macro
  4209.         _NewMovieFromScrap
  4210.             move.w              #$018D,D0
  4211.             dc.w                $AAAA
  4212.         EndM
  4213.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4214.         IMPORT_CFM_FUNCTION NewMovieFromScrap
  4215.     ENDIF
  4216.  
  4217.  
  4218. ; *****
  4219. ;    DataRef routines
  4220. ;****
  4221.  
  4222.  
  4223. ;
  4224. ; pascal OSErr GetMediaDataRef(Media theMedia, short index, Handle *dataRef, OSType *dataRefType, long *dataRefAttributes)
  4225. ;
  4226.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4227.         Macro
  4228.         _GetMediaDataRef
  4229.             move.w              #$0197,D0
  4230.             dc.w                $AAAA
  4231.         EndM
  4232.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4233.         IMPORT_CFM_FUNCTION GetMediaDataRef
  4234.     ENDIF
  4235.  
  4236. ;
  4237. ; pascal OSErr SetMediaDataRef(Media theMedia, short index, Handle dataRef, OSType dataRefType)
  4238. ;
  4239.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4240.         Macro
  4241.         _SetMediaDataRef
  4242.             move.w              #$01C9,D0
  4243.             dc.w                $AAAA
  4244.         EndM
  4245.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4246.         IMPORT_CFM_FUNCTION SetMediaDataRef
  4247.     ENDIF
  4248.  
  4249. ;
  4250. ; pascal OSErr SetMediaDataRefAttributes(Media theMedia, short index, long dataRefAttributes)
  4251. ;
  4252.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4253.         Macro
  4254.         _SetMediaDataRefAttributes
  4255.             move.w              #$01CA,D0
  4256.             dc.w                $AAAA
  4257.         EndM
  4258.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4259.         IMPORT_CFM_FUNCTION SetMediaDataRefAttributes
  4260.     ENDIF
  4261.  
  4262. ;
  4263. ; pascal OSErr AddMediaDataRef(Media theMedia, short *index, Handle dataRef, OSType dataRefType)
  4264. ;
  4265.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4266.         Macro
  4267.         _AddMediaDataRef
  4268.             move.w              #$0198,D0
  4269.             dc.w                $AAAA
  4270.         EndM
  4271.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4272.         IMPORT_CFM_FUNCTION AddMediaDataRef
  4273.     ENDIF
  4274.  
  4275. ;
  4276. ; pascal OSErr GetMediaDataRefCount(Media theMedia, short *count)
  4277. ;
  4278.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4279.         Macro
  4280.         _GetMediaDataRefCount
  4281.             move.w              #$0199,D0
  4282.             dc.w                $AAAA
  4283.         EndM
  4284.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4285.         IMPORT_CFM_FUNCTION GetMediaDataRefCount
  4286.     ENDIF
  4287.  
  4288. ;
  4289. ; pascal OSErr QTNewAlias(const FSSpec *fss, AliasHandle *alias, Boolean minimal)
  4290. ;
  4291.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4292.         Macro
  4293.         _QTNewAlias
  4294.             move.w              #$0201,D0
  4295.             dc.w                $AAAA
  4296.         EndM
  4297.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4298.         IMPORT_CFM_FUNCTION QTNewAlias
  4299.     ENDIF
  4300.  
  4301. ; *****
  4302. ;    Playback hint routines
  4303. ;****
  4304.  
  4305. ;
  4306. ; pascal void SetMoviePlayHints(Movie theMovie, long flags, long flagsMask)
  4307. ;
  4308.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4309.         Macro
  4310.         _SetMoviePlayHints
  4311.             move.w              #$01A1,D0
  4312.             dc.w                $AAAA
  4313.         EndM
  4314.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4315.         IMPORT_CFM_FUNCTION SetMoviePlayHints
  4316.     ENDIF
  4317.  
  4318. ;
  4319. ; pascal void SetMediaPlayHints(Media theMedia, long flags, long flagsMask)
  4320. ;
  4321.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4322.         Macro
  4323.         _SetMediaPlayHints
  4324.             move.w              #$01A2,D0
  4325.             dc.w                $AAAA
  4326.         EndM
  4327.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4328.         IMPORT_CFM_FUNCTION SetMediaPlayHints
  4329.     ENDIF
  4330.  
  4331. ;
  4332. ; pascal void GetMediaPlayHints(Media theMedia, long *flags)
  4333. ;
  4334.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4335.         Macro
  4336.         _GetMediaPlayHints
  4337.             move.w              #$02CE,D0
  4338.             dc.w                $AAAA
  4339.         EndM
  4340.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4341.         IMPORT_CFM_FUNCTION GetMediaPlayHints
  4342.     ENDIF
  4343.  
  4344. ; *****
  4345. ;    Load time track hints
  4346. ;****
  4347.  
  4348.  
  4349. preloadAlways                    EQU        $00000001
  4350. preloadOnlyIfEnabled            EQU        $00000002
  4351. ;
  4352. ; pascal void SetTrackLoadSettings(Track theTrack, TimeValue preloadTime, TimeValue preloadDuration, long preloadFlags, long defaultHints)
  4353. ;
  4354.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4355.         Macro
  4356.         _SetTrackLoadSettings
  4357.             move.w              #$01E3,D0
  4358.             dc.w                $AAAA
  4359.         EndM
  4360.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4361.         IMPORT_CFM_FUNCTION SetTrackLoadSettings
  4362.     ENDIF
  4363.  
  4364. ;
  4365. ; pascal void GetTrackLoadSettings(Track theTrack, TimeValue *preloadTime, TimeValue *preloadDuration, long *preloadFlags, long *defaultHints)
  4366. ;
  4367.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4368.         Macro
  4369.         _GetTrackLoadSettings
  4370.             move.w              #$01E4,D0
  4371.             dc.w                $AAAA
  4372.         EndM
  4373.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4374.         IMPORT_CFM_FUNCTION GetTrackLoadSettings
  4375.     ENDIF
  4376.  
  4377. ; *****
  4378. ;    Big screen TV
  4379. ;****
  4380.  
  4381.  
  4382. fullScreenHideCursor            EQU        $00000001
  4383. fullScreenAllowEvents            EQU        $00000002
  4384. fullScreenDontChangeMenuBar        EQU        $00000004
  4385. fullScreenPreflightSize            EQU        $00000008
  4386. ;
  4387. ; pascal OSErr BeginFullScreen(Ptr *restoreState, GDHandle whichGD, short *desiredWidth, short *desiredHeight, WindowPtr *newWindow, RGBColor *eraseColor, long flags)
  4388. ;
  4389.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4390.         Macro
  4391.         _BeginFullScreen
  4392.             move.w              #$0233,D0
  4393.             dc.w                $AAAA
  4394.         EndM
  4395.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4396.         IMPORT_CFM_FUNCTION BeginFullScreen
  4397.     ENDIF
  4398.  
  4399. ;
  4400. ; pascal OSErr EndFullScreen(Ptr fullState, long flags)
  4401. ;
  4402.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4403.         Macro
  4404.         _EndFullScreen
  4405.             move.w              #$0234,D0
  4406.             dc.w                $AAAA
  4407.         EndM
  4408.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4409.         IMPORT_CFM_FUNCTION EndFullScreen
  4410.     ENDIF
  4411.  
  4412. ; *****
  4413. ;    Sprite Toolbox
  4414. ;****
  4415.  
  4416.  
  4417. kBackgroundSpriteLayerNum        EQU        32767
  4418. ;   Sprite Properties
  4419.  
  4420. kSpritePropertyMatrix            EQU        1
  4421. kSpritePropertyImageDescription    EQU        2
  4422. kSpritePropertyImageDataPtr        EQU        3
  4423. kSpritePropertyVisible            EQU        4
  4424. kSpritePropertyLayer            EQU        5
  4425. kSpritePropertyGraphicsMode        EQU        6
  4426. kSpritePropertyImageDataSize    EQU        7
  4427. kSpritePropertyImageIndex        EQU        100
  4428. kSpriteTrackPropertyBackgroundColor EQU    101
  4429. kSpriteTrackPropertyOffscreenBitDepth EQU 102
  4430. kSpriteTrackPropertySampleFormat EQU    103
  4431. kSpriteTrackPropertyScaleSpritesToScaleWorld EQU 104
  4432. kSpriteTrackPropertyHasActions    EQU        105
  4433. kSpriteTrackPropertyVisible        EQU        106
  4434. kSpriteTrackPropertyQTIdleEventsFrequency EQU 107
  4435. kSpriteImagePropertyRegistrationPoint EQU 1000
  4436. kSpriteImagePropertyGroupID        EQU        1001
  4437. ;  special value for kSpriteTrackPropertyQTIdleEventsFrequency (the default)
  4438.  
  4439. kNoQTIdleEvents                    EQU        -1
  4440. ;  flagsIn for SpriteWorldIdle
  4441.  
  4442. kOnlyDrawToSpriteWorld            EQU        $00000001
  4443. kSpriteWorldPreflight            EQU        $00000002
  4444. ;  flagsOut for SpriteWorldIdle
  4445.  
  4446. kSpriteWorldDidDraw                EQU        $00000001
  4447. kSpriteWorldNeedsToDraw            EQU        $00000002
  4448. ;  flags for sprite track sample format
  4449.  
  4450. kKeyFrameAndSingleOverride        EQU        $00000002
  4451. kKeyFrameAndAllOverrides        EQU        $00000004
  4452. ;  sprite world flags
  4453.  
  4454. kScaleSpritesToScaleWorld        EQU        $00000002
  4455. kSpriteWorldHighQuality            EQU        $00000004
  4456. kSpriteWorldDontAutoInvalidate    EQU        $00000008
  4457. kSpriteWorldInvisible            EQU        $00000010
  4458. ;
  4459. ; pascal OSErr NewSpriteWorld(SpriteWorld *newSpriteWorld, GWorldPtr destination, GWorldPtr spriteLayer, RGBColor *backgroundColor, GWorldPtr background)
  4460. ;
  4461.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4462.         Macro
  4463.         _NewSpriteWorld
  4464.             move.w              #$0239,D0
  4465.             dc.w                $AAAA
  4466.         EndM
  4467.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4468.         IMPORT_CFM_FUNCTION NewSpriteWorld
  4469.     ENDIF
  4470.  
  4471. ;
  4472. ; pascal void DisposeSpriteWorld(SpriteWorld theSpriteWorld)
  4473. ;
  4474.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4475.         Macro
  4476.         _DisposeSpriteWorld
  4477.             move.w              #$023A,D0
  4478.             dc.w                $AAAA
  4479.         EndM
  4480.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4481.         IMPORT_CFM_FUNCTION DisposeSpriteWorld
  4482.     ENDIF
  4483.  
  4484. ;
  4485. ; pascal OSErr SetSpriteWorldClip(SpriteWorld theSpriteWorld, RgnHandle clipRgn)
  4486. ;
  4487.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4488.         Macro
  4489.         _SetSpriteWorldClip
  4490.             move.w              #$023B,D0
  4491.             dc.w                $AAAA
  4492.         EndM
  4493.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4494.         IMPORT_CFM_FUNCTION SetSpriteWorldClip
  4495.     ENDIF
  4496.  
  4497. ;
  4498. ; pascal OSErr SetSpriteWorldMatrix(SpriteWorld theSpriteWorld, const MatrixRecord *matrix)
  4499. ;
  4500.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4501.         Macro
  4502.         _SetSpriteWorldMatrix
  4503.             move.w              #$023C,D0
  4504.             dc.w                $AAAA
  4505.         EndM
  4506.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4507.         IMPORT_CFM_FUNCTION SetSpriteWorldMatrix
  4508.     ENDIF
  4509.  
  4510. ;
  4511. ; pascal OSErr SetSpriteWorldGraphicsMode(SpriteWorld theSpriteWorld, long mode, const RGBColor *opColor)
  4512. ;
  4513.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4514.         Macro
  4515.         _SetSpriteWorldGraphicsMode
  4516.             move.w              #$02D9,D0
  4517.             dc.w                $AAAA
  4518.         EndM
  4519.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4520.         IMPORT_CFM_FUNCTION SetSpriteWorldGraphicsMode
  4521.     ENDIF
  4522.  
  4523. ;
  4524. ; pascal OSErr SpriteWorldIdle(SpriteWorld theSpriteWorld, long flagsIn, long *flagsOut)
  4525. ;
  4526.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4527.         Macro
  4528.         _SpriteWorldIdle
  4529.             move.w              #$023D,D0
  4530.             dc.w                $AAAA
  4531.         EndM
  4532.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4533.         IMPORT_CFM_FUNCTION SpriteWorldIdle
  4534.     ENDIF
  4535.  
  4536. ;
  4537. ; pascal OSErr InvalidateSpriteWorld(SpriteWorld theSpriteWorld, Rect *invalidArea)
  4538. ;
  4539.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4540.         Macro
  4541.         _InvalidateSpriteWorld
  4542.             move.w              #$023E,D0
  4543.             dc.w                $AAAA
  4544.         EndM
  4545.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4546.         IMPORT_CFM_FUNCTION InvalidateSpriteWorld
  4547.     ENDIF
  4548.  
  4549. ;
  4550. ; pascal OSErr SpriteWorldHitTest(SpriteWorld theSpriteWorld, long flags, Point loc, Sprite *spriteHit)
  4551. ;
  4552.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4553.         Macro
  4554.         _SpriteWorldHitTest
  4555.             move.w              #$0246,D0
  4556.             dc.w                $AAAA
  4557.         EndM
  4558.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4559.         IMPORT_CFM_FUNCTION SpriteWorldHitTest
  4560.     ENDIF
  4561.  
  4562. ;
  4563. ; pascal OSErr SpriteHitTest(Sprite theSprite, long flags, Point loc, Boolean *wasHit)
  4564. ;
  4565.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4566.         Macro
  4567.         _SpriteHitTest
  4568.             move.w              #$0247,D0
  4569.             dc.w                $AAAA
  4570.         EndM
  4571.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4572.         IMPORT_CFM_FUNCTION SpriteHitTest
  4573.     ENDIF
  4574.  
  4575. ;
  4576. ; pascal void DisposeAllSprites(SpriteWorld theSpriteWorld)
  4577. ;
  4578.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4579.         Macro
  4580.         _DisposeAllSprites
  4581.             move.w              #$023F,D0
  4582.             dc.w                $AAAA
  4583.         EndM
  4584.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4585.         IMPORT_CFM_FUNCTION DisposeAllSprites
  4586.     ENDIF
  4587.  
  4588. ;
  4589. ; pascal OSErr SetSpriteWorldFlags(SpriteWorld spriteWorld, long flags, long flagsMask)
  4590. ;
  4591.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4592.         Macro
  4593.         _SetSpriteWorldFlags
  4594.             move.w              #$02C2,D0
  4595.             dc.w                $AAAA
  4596.         EndM
  4597.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4598.         IMPORT_CFM_FUNCTION SetSpriteWorldFlags
  4599.     ENDIF
  4600.  
  4601. ;
  4602. ; pascal OSErr NewSprite(Sprite *newSprite, SpriteWorld itsSpriteWorld, ImageDescriptionHandle idh, Ptr imageDataPtr, MatrixRecord *matrix, Boolean visible, short layer)
  4603. ;
  4604.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4605.         Macro
  4606.         _NewSprite
  4607.             move.w              #$0240,D0
  4608.             dc.w                $AAAA
  4609.         EndM
  4610.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4611.         IMPORT_CFM_FUNCTION NewSprite
  4612.     ENDIF
  4613.  
  4614. ;
  4615. ; pascal void DisposeSprite(Sprite theSprite)
  4616. ;
  4617.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4618.         Macro
  4619.         _DisposeSprite
  4620.             move.w              #$0241,D0
  4621.             dc.w                $AAAA
  4622.         EndM
  4623.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4624.         IMPORT_CFM_FUNCTION DisposeSprite
  4625.     ENDIF
  4626.  
  4627. ;
  4628. ; pascal void InvalidateSprite(Sprite theSprite)
  4629. ;
  4630.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4631.         Macro
  4632.         _InvalidateSprite
  4633.             move.w              #$0242,D0
  4634.             dc.w                $AAAA
  4635.         EndM
  4636.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4637.         IMPORT_CFM_FUNCTION InvalidateSprite
  4638.     ENDIF
  4639.  
  4640. ;
  4641. ; pascal OSErr SetSpriteProperty(Sprite theSprite, long propertyType, void *propertyValue)
  4642. ;
  4643.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4644.         Macro
  4645.         _SetSpriteProperty
  4646.             move.w              #$0243,D0
  4647.             dc.w                $AAAA
  4648.         EndM
  4649.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4650.         IMPORT_CFM_FUNCTION SetSpriteProperty
  4651.     ENDIF
  4652.  
  4653. ;
  4654. ; pascal OSErr GetSpriteProperty(Sprite theSprite, long propertyType, void *propertyValue)
  4655. ;
  4656.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4657.         Macro
  4658.         _GetSpriteProperty
  4659.             move.w              #$0244,D0
  4660.             dc.w                $AAAA
  4661.         EndM
  4662.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4663.         IMPORT_CFM_FUNCTION GetSpriteProperty
  4664.     ENDIF
  4665.  
  4666. ; *****
  4667. ;    QT Atom Data Support
  4668. ;****
  4669.  
  4670.  
  4671. kParentAtomIsContainer            EQU        0
  4672. ;  create and dispose QTAtomContainer objects
  4673.  
  4674. ;
  4675. ; pascal OSErr QTNewAtomContainer(QTAtomContainer *atomData)
  4676. ;
  4677.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4678.         Macro
  4679.         _QTNewAtomContainer
  4680.             move.w              #$020C,D0
  4681.             dc.w                $AAAA
  4682.         EndM
  4683.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4684.         IMPORT_CFM_FUNCTION QTNewAtomContainer
  4685.     ENDIF
  4686.  
  4687. ;
  4688. ; pascal OSErr QTDisposeAtomContainer(QTAtomContainer atomData)
  4689. ;
  4690.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4691.         Macro
  4692.         _QTDisposeAtomContainer
  4693.             move.w              #$020D,D0
  4694.             dc.w                $AAAA
  4695.         EndM
  4696.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4697.         IMPORT_CFM_FUNCTION QTDisposeAtomContainer
  4698.     ENDIF
  4699.  
  4700. ;  locating nested atoms within QTAtomContainer container
  4701. ;
  4702. ; pascal QTAtomType QTGetNextChildType(QTAtomContainer container, QTAtom parentAtom, QTAtomType currentChildType)
  4703. ;
  4704.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4705.         Macro
  4706.         _QTGetNextChildType
  4707.             move.w              #$020E,D0
  4708.             dc.w                $AAAA
  4709.         EndM
  4710.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4711.         IMPORT_CFM_FUNCTION QTGetNextChildType
  4712.     ENDIF
  4713.  
  4714. ;
  4715. ; pascal short QTCountChildrenOfType(QTAtomContainer container, QTAtom parentAtom, QTAtomType childType)
  4716. ;
  4717.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4718.         Macro
  4719.         _QTCountChildrenOfType
  4720.             move.w              #$020F,D0
  4721.             dc.w                $AAAA
  4722.         EndM
  4723.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4724.         IMPORT_CFM_FUNCTION QTCountChildrenOfType
  4725.     ENDIF
  4726.  
  4727. ;
  4728. ; pascal QTAtom QTFindChildByIndex(QTAtomContainer container, QTAtom parentAtom, QTAtomType atomType, short index, QTAtomID *id)
  4729. ;
  4730.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4731.         Macro
  4732.         _QTFindChildByIndex
  4733.             move.w              #$0210,D0
  4734.             dc.w                $AAAA
  4735.         EndM
  4736.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4737.         IMPORT_CFM_FUNCTION QTFindChildByIndex
  4738.     ENDIF
  4739.  
  4740. ;
  4741. ; pascal QTAtom QTFindChildByID(QTAtomContainer container, QTAtom parentAtom, QTAtomType atomType, QTAtomID id, short *index)
  4742. ;
  4743.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4744.         Macro
  4745.         _QTFindChildByID
  4746.             move.w              #$021D,D0
  4747.             dc.w                $AAAA
  4748.         EndM
  4749.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4750.         IMPORT_CFM_FUNCTION QTFindChildByID
  4751.     ENDIF
  4752.  
  4753. ;
  4754. ; pascal OSErr QTNextChildAnyType(QTAtomContainer container, QTAtom parentAtom, QTAtom currentChild, QTAtom *nextChild)
  4755. ;
  4756.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4757.         Macro
  4758.         _QTNextChildAnyType
  4759.             move.w              #$0200,D0
  4760.             dc.w                $AAAA
  4761.         EndM
  4762.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4763.         IMPORT_CFM_FUNCTION QTNextChildAnyType
  4764.     ENDIF
  4765.  
  4766. ;  set a leaf atom's data
  4767. ;
  4768. ; pascal OSErr QTSetAtomData(QTAtomContainer container, QTAtom atom, long dataSize, void *atomData)
  4769. ;
  4770.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4771.         Macro
  4772.         _QTSetAtomData
  4773.             move.w              #$0211,D0
  4774.             dc.w                $AAAA
  4775.         EndM
  4776.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4777.         IMPORT_CFM_FUNCTION QTSetAtomData
  4778.     ENDIF
  4779.  
  4780. ;  extracting data
  4781. ;
  4782. ; pascal OSErr QTCopyAtomDataToHandle(QTAtomContainer container, QTAtom atom, Handle targetHandle)
  4783. ;
  4784.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4785.         Macro
  4786.         _QTCopyAtomDataToHandle
  4787.             move.w              #$0212,D0
  4788.             dc.w                $AAAA
  4789.         EndM
  4790.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4791.         IMPORT_CFM_FUNCTION QTCopyAtomDataToHandle
  4792.     ENDIF
  4793.  
  4794. ;
  4795. ; pascal OSErr QTCopyAtomDataToPtr(QTAtomContainer container, QTAtom atom, Boolean sizeOrLessOK, long size, void *targetPtr, long *actualSize)
  4796. ;
  4797.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4798.         Macro
  4799.         _QTCopyAtomDataToPtr
  4800.             move.w              #$0213,D0
  4801.             dc.w                $AAAA
  4802.         EndM
  4803.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4804.         IMPORT_CFM_FUNCTION QTCopyAtomDataToPtr
  4805.     ENDIF
  4806.  
  4807. ;
  4808. ; pascal OSErr QTGetAtomTypeAndID(QTAtomContainer container, QTAtom atom, QTAtomType *atomType, QTAtomID *id)
  4809. ;
  4810.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4811.         Macro
  4812.         _QTGetAtomTypeAndID
  4813.             move.w              #$0232,D0
  4814.             dc.w                $AAAA
  4815.         EndM
  4816.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4817.         IMPORT_CFM_FUNCTION QTGetAtomTypeAndID
  4818.     ENDIF
  4819.  
  4820. ;  extract a copy of an atom and all of it's children, caller disposes
  4821. ;
  4822. ; pascal OSErr QTCopyAtom(QTAtomContainer container, QTAtom atom, QTAtomContainer *targetContainer)
  4823. ;
  4824.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4825.         Macro
  4826.         _QTCopyAtom
  4827.             move.w              #$0214,D0
  4828.             dc.w                $AAAA
  4829.         EndM
  4830.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4831.         IMPORT_CFM_FUNCTION QTCopyAtom
  4832.     ENDIF
  4833.  
  4834. ;  obtaining direct reference to atom data
  4835. ;
  4836. ; pascal OSErr QTLockContainer(QTAtomContainer container)
  4837. ;
  4838.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4839.         Macro
  4840.         _QTLockContainer
  4841.             move.w              #$0215,D0
  4842.             dc.w                $AAAA
  4843.         EndM
  4844.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4845.         IMPORT_CFM_FUNCTION QTLockContainer
  4846.     ENDIF
  4847.  
  4848. ;
  4849. ; pascal OSErr QTGetAtomDataPtr(QTAtomContainer container, QTAtom atom, long *dataSize, Ptr *atomData)
  4850. ;
  4851.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4852.         Macro
  4853.         _QTGetAtomDataPtr
  4854.             move.w              #$0216,D0
  4855.             dc.w                $AAAA
  4856.         EndM
  4857.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4858.         IMPORT_CFM_FUNCTION QTGetAtomDataPtr
  4859.     ENDIF
  4860.  
  4861. ;
  4862. ; pascal OSErr QTUnlockContainer(QTAtomContainer container)
  4863. ;
  4864.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4865.         Macro
  4866.         _QTUnlockContainer
  4867.             move.w              #$0217,D0
  4868.             dc.w                $AAAA
  4869.         EndM
  4870.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4871.         IMPORT_CFM_FUNCTION QTUnlockContainer
  4872.     ENDIF
  4873.  
  4874.  
  4875. ;   building QTAtomContainer trees
  4876. ;   creates and inserts new atom at specified index, existing atoms at or after index are moved toward end of list
  4877. ;   used for Top-Down tree creation
  4878.  
  4879.  
  4880. ;
  4881. ; pascal OSErr QTInsertChild(QTAtomContainer container, QTAtom parentAtom, QTAtomType atomType, QTAtomID id, short index, long dataSize, void *data, QTAtom *newAtom)
  4882. ;
  4883.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4884.         Macro
  4885.         _QTInsertChild
  4886.             move.w              #$0218,D0
  4887.             dc.w                $AAAA
  4888.         EndM
  4889.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4890.         IMPORT_CFM_FUNCTION QTInsertChild
  4891.     ENDIF
  4892.  
  4893. ;  inserts children from childrenContainer as children of parentAtom
  4894. ;
  4895. ; pascal OSErr QTInsertChildren(QTAtomContainer container, QTAtom parentAtom, QTAtomContainer childrenContainer)
  4896. ;
  4897.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4898.         Macro
  4899.         _QTInsertChildren
  4900.             move.w              #$0219,D0
  4901.             dc.w                $AAAA
  4902.         EndM
  4903.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4904.         IMPORT_CFM_FUNCTION QTInsertChildren
  4905.     ENDIF
  4906.  
  4907. ;  destruction
  4908. ;
  4909. ; pascal OSErr QTRemoveAtom(QTAtomContainer container, QTAtom atom)
  4910. ;
  4911.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4912.         Macro
  4913.         _QTRemoveAtom
  4914.             move.w              #$021A,D0
  4915.             dc.w                $AAAA
  4916.         EndM
  4917.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4918.         IMPORT_CFM_FUNCTION QTRemoveAtom
  4919.     ENDIF
  4920.  
  4921. ;
  4922. ; pascal OSErr QTRemoveChildren(QTAtomContainer container, QTAtom atom)
  4923. ;
  4924.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4925.         Macro
  4926.         _QTRemoveChildren
  4927.             move.w              #$021B,D0
  4928.             dc.w                $AAAA
  4929.         EndM
  4930.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4931.         IMPORT_CFM_FUNCTION QTRemoveChildren
  4932.     ENDIF
  4933.  
  4934. ;  replacement must be same type as target
  4935. ;
  4936. ; pascal OSErr QTReplaceAtom(QTAtomContainer targetContainer, QTAtom targetAtom, QTAtomContainer replacementContainer, QTAtom replacementAtom)
  4937. ;
  4938.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4939.         Macro
  4940.         _QTReplaceAtom
  4941.             move.w              #$021C,D0
  4942.             dc.w                $AAAA
  4943.         EndM
  4944.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4945.         IMPORT_CFM_FUNCTION QTReplaceAtom
  4946.     ENDIF
  4947.  
  4948. ;
  4949. ; pascal OSErr QTSwapAtoms(QTAtomContainer container, QTAtom atom1, QTAtom atom2)
  4950. ;
  4951.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4952.         Macro
  4953.         _QTSwapAtoms
  4954.             move.w              #$01FF,D0
  4955.             dc.w                $AAAA
  4956.         EndM
  4957.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4958.         IMPORT_CFM_FUNCTION QTSwapAtoms
  4959.     ENDIF
  4960.  
  4961. ;
  4962. ; pascal OSErr QTSetAtomID(QTAtomContainer container, QTAtom atom, QTAtomID newID)
  4963. ;
  4964.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4965.         Macro
  4966.         _QTSetAtomID
  4967.             move.w              #$0231,D0
  4968.             dc.w                $AAAA
  4969.         EndM
  4970.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4971.         IMPORT_CFM_FUNCTION QTSetAtomID
  4972.     ENDIF
  4973.  
  4974. ;
  4975. ; pascal OSErr SetMediaPropertyAtom(Media theMedia, QTAtomContainer propertyAtom)
  4976. ;
  4977.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4978.         Macro
  4979.         _SetMediaPropertyAtom
  4980.             move.w              #$022E,D0
  4981.             dc.w                $AAAA
  4982.         EndM
  4983.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4984.         IMPORT_CFM_FUNCTION SetMediaPropertyAtom
  4985.     ENDIF
  4986.  
  4987. ;
  4988. ; pascal OSErr GetMediaPropertyAtom(Media theMedia, QTAtomContainer *propertyAtom)
  4989. ;
  4990.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4991.         Macro
  4992.         _GetMediaPropertyAtom
  4993.             move.w              #$022F,D0
  4994.             dc.w                $AAAA
  4995.         EndM
  4996.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4997.         IMPORT_CFM_FUNCTION GetMediaPropertyAtom
  4998.     ENDIF
  4999.  
  5000. ; *****
  5001. ;    Tween Support
  5002. ;****
  5003.  
  5004.  
  5005.  
  5006. TweenRecord                RECORD 0
  5007. version                     ds.l    1                ; offset: $0 (0)
  5008. container                 ds.l    1                ; offset: $4 (4)
  5009. tweenAtom                 ds.l    1                ; offset: $8 (8)
  5010. dataAtom                 ds.l    1                ; offset: $C (12)
  5011. percent                     ds.l    1                ; offset: $10 (16)
  5012. dataProc                 ds.l    1                ; offset: $14 (20)
  5013. private1                 ds.l    1                ; offset: $18 (24)
  5014. private2                 ds.l    1                ; offset: $1C (28)
  5015. sizeof                     EQU *                    ; size:   $20 (32)
  5016.                         ENDR
  5017. TweenV1Record            RECORD 0
  5018. version                     ds.l    1                ; offset: $0 (0)
  5019. container                 ds.l    1                ; offset: $4 (4)
  5020. tweenAtom                 ds.l    1                ; offset: $8 (8)
  5021. dataAtom                 ds.l    1                ; offset: $C (12)
  5022. percent                     ds.l    1                ; offset: $10 (16)
  5023. dataProc                 ds.l    1                ; offset: $14 (20)
  5024. private1                 ds.l    1                ; offset: $18 (24)
  5025. private2                 ds.l    1                ; offset: $1C (28)
  5026. fractPercent             ds.l    1                ; offset: $20 (32)
  5027. sizeof                     EQU *                    ; size:   $24 (36)
  5028.                         ENDR
  5029. ;
  5030. ; pascal OSErr QTNewTween(QTTweener *tween, QTAtomContainer container, QTAtom tweenAtom, TimeValue maxTime)
  5031. ;
  5032.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5033.         Macro
  5034.         _QTNewTween
  5035.             move.w              #$029D,D0
  5036.             dc.w                $AAAA
  5037.         EndM
  5038.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5039.         IMPORT_CFM_FUNCTION QTNewTween
  5040.     ENDIF
  5041.  
  5042. ;
  5043. ; pascal OSErr QTDisposeTween(QTTweener tween)
  5044. ;
  5045.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5046.         Macro
  5047.         _QTDisposeTween
  5048.             move.w              #$029F,D0
  5049.             dc.w                $AAAA
  5050.         EndM
  5051.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5052.         IMPORT_CFM_FUNCTION QTDisposeTween
  5053.     ENDIF
  5054.  
  5055. ;
  5056. ; pascal OSErr QTDoTween(QTTweener tween, TimeValue atTime, Handle result, long *resultSize, TweenerDataUPP tweenDataProc, void *tweenDataRefCon)
  5057. ;
  5058.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5059.         Macro
  5060.         _QTDoTween
  5061.             move.w              #$029E,D0
  5062.             dc.w                $AAAA
  5063.         EndM
  5064.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5065.         IMPORT_CFM_FUNCTION QTDoTween
  5066.     ENDIF
  5067.  
  5068. ; *****
  5069. ;    Sound Description Manipulations
  5070. ;****
  5071.  
  5072. ;
  5073. ; pascal OSErr AddSoundDescriptionExtension(SoundDescriptionHandle desc, Handle extension, OSType idType)
  5074. ;
  5075.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5076.         Macro
  5077.         _AddSoundDescriptionExtension
  5078.             move.w              #$02CF,D0
  5079.             dc.w                $AAAA
  5080.         EndM
  5081.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5082.         IMPORT_CFM_FUNCTION AddSoundDescriptionExtension
  5083.     ENDIF
  5084.  
  5085. ;
  5086. ; pascal OSErr GetSoundDescriptionExtension(SoundDescriptionHandle desc, Handle *extension, OSType idType)
  5087. ;
  5088.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5089.         Macro
  5090.         _GetSoundDescriptionExtension
  5091.             move.w              #$02D0,D0
  5092.             dc.w                $AAAA
  5093.         EndM
  5094.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5095.         IMPORT_CFM_FUNCTION GetSoundDescriptionExtension
  5096.     ENDIF
  5097.  
  5098. ;
  5099. ; pascal OSErr RemoveSoundDescriptionExtension(SoundDescriptionHandle desc, OSType idType)
  5100. ;
  5101.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5102.         Macro
  5103.         _RemoveSoundDescriptionExtension
  5104.             move.w              #$02D1,D0
  5105.             dc.w                $AAAA
  5106.         EndM
  5107.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5108.         IMPORT_CFM_FUNCTION RemoveSoundDescriptionExtension
  5109.     ENDIF
  5110.  
  5111. ; *****
  5112. ;    Preferences
  5113. ;****
  5114.  
  5115. ;
  5116. ; pascal OSErr GetQuickTimePreference(OSType preferenceType, QTAtomContainer *preferenceAtom)
  5117. ;
  5118.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5119.         Macro
  5120.         _GetQuickTimePreference
  5121.             move.w              #$02D4,D0
  5122.             dc.w                $AAAA
  5123.         EndM
  5124.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5125.         IMPORT_CFM_FUNCTION GetQuickTimePreference
  5126.     ENDIF
  5127.  
  5128. ;
  5129. ; pascal OSErr SetQuickTimePreference(OSType preferenceType, QTAtomContainer preferenceAtom)
  5130. ;
  5131.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5132.         Macro
  5133.         _SetQuickTimePreference
  5134.             move.w              #$02D5,D0
  5135.             dc.w                $AAAA
  5136.         EndM
  5137.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5138.         IMPORT_CFM_FUNCTION SetQuickTimePreference
  5139.     ENDIF
  5140.  
  5141. ; *****
  5142. ;    Effects and dialog Support
  5143. ;****
  5144.  
  5145. ;  atom types for entries in the effects list
  5146.  
  5147. kEffectNameAtom                    EQU        'name'                ; name of effect 
  5148. kEffectTypeAtom                    EQU        'type'                ; codec sub-type for effect 
  5149. kEffectManufacturerAtom            EQU        'manu'                ; codec manufacturer for effect 
  5150. QTParamPreviewRecord    RECORD 0
  5151. sourceID                 ds.l    1                ; offset: $0 (0)        ;  1 based source identifier
  5152. sourcePicture             ds.l    1                ; offset: $4 (4)        ;  picture for preview, must not dispose until dialog is disposed
  5153. sizeof                     EQU *                    ; size:   $8 (8)
  5154.                         ENDR
  5155. ; typedef struct QTParamPreviewRecord *    QTParamPreviewPtr
  5156.  
  5157. QTParamDialogEventRecord RECORD 0
  5158. theEvent                 ds.l    1                ; offset: $0 (0)        ;  Event received by the dialog 
  5159. whichDialog                 ds.l    1                ; offset: $4 (4)        ;  dialog that event was directed towards 
  5160. itemHit                     ds.w    1                ; offset: $8 (8)        ;  dialog item which was hit 
  5161. sizeof                     EQU *                    ; size:   $A (10)
  5162.                         ENDR
  5163. ; typedef struct QTParamDialogEventRecord * QTParamDialogEventPtr
  5164.  
  5165.  
  5166. pdActionConfirmDialog            EQU        1                    ; no param
  5167. pdActionSetAppleMenu            EQU        2                    ; param is MenuHandle
  5168. pdActionSetEditMenu                EQU        3                    ; param is MenuHandle
  5169. pdActionGetDialogValues            EQU        4                    ; param is QTAtomContainer
  5170. pdActionSetPreviewUserItem        EQU        5                    ; param is long
  5171. pdActionSetPreviewPicture        EQU        6                    ; param is QTParamPreviewPtr;
  5172. pdActionSetColorPickerEventProc    EQU        7                    ; param is UserEventUPP
  5173. pdActionSetDialogTitle            EQU        8                    ; param is StringPtr 
  5174. pdActionGetSubPanelMenu            EQU        9                    ; param is MenuHandle* 
  5175. pdActionActivateSubPanel        EQU        10                    ; param is long 
  5176. pdActionConductStopAlert        EQU        11                    ; param is StringPtr 
  5177. pdActionModelessCallback        EQU        12                    ; param is QTParamDialogEventPtr 
  5178. ; typedef long                             QTParameterDialog
  5179.  
  5180.  
  5181. elOptionsIncludeNoneInList        EQU        $00000001            ; "None" effect is included in list 
  5182. ; typedef long                             QTEffectListOptions
  5183.  
  5184.  
  5185. pdOptionsCollectOneValue        EQU        $00000001            ; should collect a single value only
  5186. pdOptionsAllowOptionalInterpolations EQU $00000002            ; non-novice interpolation options are shown 
  5187. pdOptionsModalDialogBox            EQU        $00000004            ; dialog box should be modal 
  5188. ; typedef long                             QTParameterDialogOptions
  5189.  
  5190.  
  5191. effectIsRealtime                EQU        0                    ; effect can be rendered in real time 
  5192. ;
  5193. ; pascal OSErr QTGetEffectsList(QTAtomContainer *returnedList, long minSources, long maxSources, QTEffectListOptions getOptions)
  5194. ;
  5195.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5196.         Macro
  5197.         _QTGetEffectsList
  5198.             move.w              #$02C9,D0
  5199.             dc.w                $AAAA
  5200.         EndM
  5201.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5202.         IMPORT_CFM_FUNCTION QTGetEffectsList
  5203.     ENDIF
  5204.  
  5205. ;
  5206. ; pascal OSErr QTCreateStandardParameterDialog(QTAtomContainer effectList, QTAtomContainer parameters, QTParameterDialogOptions dialogOptions, QTParameterDialog *createdDialog)
  5207. ;
  5208.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5209.         Macro
  5210.         _QTCreateStandardParameterDialog
  5211.             move.w              #$02CA,D0
  5212.             dc.w                $AAAA
  5213.         EndM
  5214.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5215.         IMPORT_CFM_FUNCTION QTCreateStandardParameterDialog
  5216.     ENDIF
  5217.  
  5218. ;
  5219. ; pascal OSErr QTIsStandardParameterDialogEvent(EventRecord *pEvent, QTParameterDialog createdDialog)
  5220. ;
  5221.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5222.         Macro
  5223.         _QTIsStandardParameterDialogEvent
  5224.             move.w              #$02CB,D0
  5225.             dc.w                $AAAA
  5226.         EndM
  5227.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5228.         IMPORT_CFM_FUNCTION QTIsStandardParameterDialogEvent
  5229.     ENDIF
  5230.  
  5231. ;
  5232. ; pascal OSErr QTDismissStandardParameterDialog(QTParameterDialog createdDialog)
  5233. ;
  5234.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5235.         Macro
  5236.         _QTDismissStandardParameterDialog
  5237.             move.w              #$02CC,D0
  5238.             dc.w                $AAAA
  5239.         EndM
  5240.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5241.         IMPORT_CFM_FUNCTION QTDismissStandardParameterDialog
  5242.     ENDIF
  5243.  
  5244. ;
  5245. ; pascal OSErr QTStandardParameterDialogDoAction(QTParameterDialog createdDialog, long action, void *params)
  5246. ;
  5247.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5248.         Macro
  5249.         _QTStandardParameterDialogDoAction
  5250.             move.w              #$02CD,D0
  5251.             dc.w                $AAAA
  5252.         EndM
  5253.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5254.         IMPORT_CFM_FUNCTION QTStandardParameterDialogDoAction
  5255.     ENDIF
  5256.  
  5257. ;
  5258. ; pascal OSErr QTGetEffectSpeed(QTAtomContainer parameters, Fixed *pFPS)
  5259. ;
  5260.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5261.         Macro
  5262.         _QTGetEffectSpeed
  5263.             move.w              #$02D2,D0
  5264.             dc.w                $AAAA
  5265.         EndM
  5266.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5267.         IMPORT_CFM_FUNCTION QTGetEffectSpeed
  5268.     ENDIF
  5269.  
  5270. ; *****
  5271. ;    Access Keys
  5272. ;****
  5273.  
  5274.  
  5275. kAccessKeyAtomType                EQU        'acky'
  5276.  
  5277. kAccessKeySystemFlag            EQU        $00000001
  5278. ;
  5279. ; pascal OSErr QTGetAccessKeys(Str255 accessKeyType, long flags, QTAtomContainer *keys)
  5280. ;
  5281.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5282.         Macro
  5283.         _QTGetAccessKeys
  5284.             move.w              #$02B3,D0
  5285.             dc.w                $AAAA
  5286.         EndM
  5287.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5288.         IMPORT_CFM_FUNCTION QTGetAccessKeys
  5289.     ENDIF
  5290.  
  5291. ;
  5292. ; pascal OSErr QTRegisterAccessKey(Str255 accessKeyType, long flags, Handle accessKey)
  5293. ;
  5294.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5295.         Macro
  5296.         _QTRegisterAccessKey
  5297.             move.w              #$02B4,D0
  5298.             dc.w                $AAAA
  5299.         EndM
  5300.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5301.         IMPORT_CFM_FUNCTION QTRegisterAccessKey
  5302.     ENDIF
  5303.  
  5304. ;
  5305. ; pascal OSErr QTUnregisterAccessKey(Str255 accessKeyType, long flags, Handle accessKey)
  5306. ;
  5307.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5308.         Macro
  5309.         _QTUnregisterAccessKey
  5310.             move.w              #$02B5,D0
  5311.             dc.w                $AAAA
  5312.         EndM
  5313.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5314.         IMPORT_CFM_FUNCTION QTUnregisterAccessKey
  5315.     ENDIF
  5316.  
  5317. ; *****
  5318. ;    Time table
  5319. ;****
  5320.  
  5321. ;
  5322. ; pascal OSErr MakeTrackTimeTable(Track trackH, long **offsets, TimeValue startTime, TimeValue endTime, TimeValue timeIncrement, short firstDataRefIndex, short lastDataRefIndex, long *retdataRefSkew)
  5323. ;
  5324.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5325.         Macro
  5326.         _MakeTrackTimeTable
  5327.             move.w              #$02BE,D0
  5328.             dc.w                $AAAA
  5329.         EndM
  5330.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5331.         IMPORT_CFM_FUNCTION MakeTrackTimeTable
  5332.     ENDIF
  5333.  
  5334. ;
  5335. ; pascal OSErr MakeMediaTimeTable(Media theMedia, long **offsets, TimeValue startTime, TimeValue endTime, TimeValue timeIncrement, short firstDataRefIndex, short lastDataRefIndex, long *retdataRefSkew)
  5336. ;
  5337.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5338.         Macro
  5339.         _MakeMediaTimeTable
  5340.             move.w              #$02BF,D0
  5341.             dc.w                $AAAA
  5342.         EndM
  5343.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5344.         IMPORT_CFM_FUNCTION MakeMediaTimeTable
  5345.     ENDIF
  5346.  
  5347. ;
  5348. ; pascal OSErr GetMaxLoadedTimeInMovie(Movie theMovie, TimeValue *time)
  5349. ;
  5350.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5351.         Macro
  5352.         _GetMaxLoadedTimeInMovie
  5353.             move.w              #$02C0,D0
  5354.             dc.w                $AAAA
  5355.         EndM
  5356.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5357.         IMPORT_CFM_FUNCTION GetMaxLoadedTimeInMovie
  5358.     ENDIF
  5359.  
  5360. ;
  5361. ; pascal OSErr QTMovieNeedsTimeTable(Movie theMovie, Boolean *needsTimeTable)
  5362. ;
  5363.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5364.         Macro
  5365.         _QTMovieNeedsTimeTable
  5366.             move.w              #$02C3,D0
  5367.             dc.w                $AAAA
  5368.         EndM
  5369.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5370.         IMPORT_CFM_FUNCTION QTMovieNeedsTimeTable
  5371.     ENDIF
  5372.  
  5373. ;
  5374. ; pascal OSErr QTGetDataRefMaxFileOffset(Movie movieH, OSType dataRefType, Handle dataRef, long *offset)
  5375. ;
  5376.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5377.         Macro
  5378.         _QTGetDataRefMaxFileOffset
  5379.             move.w              #$02C6,D0
  5380.             dc.w                $AAAA
  5381.         EndM
  5382.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5383.         IMPORT_CFM_FUNCTION QTGetDataRefMaxFileOffset
  5384.     ENDIF
  5385.  
  5386.  
  5387.  
  5388. ; *****
  5389. ;    QT International Text Atom Support
  5390. ;****
  5391.  
  5392.  
  5393. kITextRemoveEverythingBut        EQU        $00
  5394. kITextRemoveLeaveSuggestedAlternate EQU    $02
  5395.  
  5396. kITextAtomType                    EQU        'itxt'
  5397. kITextStringAtomType            EQU        'text'
  5398. ;
  5399. ; pascal OSErr ITextAddString(QTAtomContainer container, QTAtom parentAtom, RegionCode theRegionCode, ConstStr255Param theString)
  5400. ;
  5401.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5402.         Macro
  5403.         _ITextAddString
  5404.             move.w              #$027A,D0
  5405.             dc.w                $AAAA
  5406.         EndM
  5407.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5408.         IMPORT_CFM_FUNCTION ITextAddString
  5409.     ENDIF
  5410.  
  5411. ;
  5412. ; pascal OSErr ITextRemoveString(QTAtomContainer container, QTAtom parentAtom, RegionCode theRegionCode, long flags)
  5413. ;
  5414.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5415.         Macro
  5416.         _ITextRemoveString
  5417.             move.w              #$027B,D0
  5418.             dc.w                $AAAA
  5419.         EndM
  5420.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5421.         IMPORT_CFM_FUNCTION ITextRemoveString
  5422.     ENDIF
  5423.  
  5424. ;
  5425. ; pascal OSErr ITextGetString(QTAtomContainer container, QTAtom parentAtom, RegionCode requestedRegion, RegionCode *foundRegion, StringPtr theString)
  5426. ;
  5427.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5428.         Macro
  5429.         _ITextGetString
  5430.             move.w              #$027C,D0
  5431.             dc.w                $AAAA
  5432.         EndM
  5433.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5434.         IMPORT_CFM_FUNCTION ITextGetString
  5435.     ENDIF
  5436.  
  5437. ;
  5438. ; pascal OSErr QTTextToNativeText(Handle theText, long encoding, long flags)
  5439. ;
  5440.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5441.         Macro
  5442.         _QTTextToNativeText
  5443.             move.w              #$02DB,D0
  5444.             dc.w                $AAAA
  5445.         EndM
  5446.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5447.         IMPORT_CFM_FUNCTION QTTextToNativeText
  5448.     ENDIF
  5449.  
  5450. ; *************************
  5451. ;* track reference types
  5452. ;*************************
  5453.  
  5454.  
  5455. kTrackReferenceChapterList        EQU        'chap'
  5456. kTrackReferenceTimeCode            EQU        'tmcd'
  5457. kTrackReferenceModifier            EQU        'ssrc'
  5458. ; *************************
  5459. ;* modifier track types
  5460. ;*************************
  5461.  
  5462.  
  5463. kTrackModifierInput                EQU        $696E                ; is really 'in'
  5464. kTrackModifierType                EQU        $7479                ; is really 'ty'
  5465. kTrackModifierReference            EQU        'ssrc'
  5466. kTrackModifierObjectID            EQU        'obid'
  5467. kTrackModifierInputName            EQU        'name'
  5468.  
  5469. kInputMapSubInputID                EQU        'subi'
  5470.  
  5471. kTrackModifierTypeMatrix        EQU        1
  5472. kTrackModifierTypeClip            EQU        2
  5473. kTrackModifierTypeGraphicsMode    EQU        5
  5474. kTrackModifierTypeVolume        EQU        3
  5475. kTrackModifierTypeBalance        EQU        4
  5476. kTrackModifierTypeImage            EQU        'vide'                ; was kTrackModifierTypeSpriteImage
  5477. kTrackModifierObjectMatrix        EQU        6
  5478. kTrackModifierObjectGraphicsMode EQU    7
  5479. kTrackModifierType3d4x4Matrix    EQU        8
  5480. kTrackModifierCameraData        EQU        9
  5481. kTrackModifierSoundLocalizationData EQU    10
  5482. kTrackModifierObjectImageIndex    EQU        11
  5483. kTrackModifierObjectLayer        EQU        12
  5484. kTrackModifierObjectVisible        EQU        13
  5485. kTrackModifierPanAngle            EQU        'pan '
  5486. kTrackModifierTiltAngle            EQU        'tilt'
  5487. kTrackModifierVerticalFieldOfViewAngle EQU 'fov '
  5488. kTrackModifierObjectQTEventSend    EQU        'evnt'
  5489. ModifierTrackGraphicsModeRecord RECORD 0
  5490. graphicsMode             ds.l    1                ; offset: $0 (0)
  5491. opColor                     ds        RGBColor        ; offset: $4 (4)
  5492. sizeof                     EQU *                    ; size:   $A (10)
  5493.                         ENDR
  5494.  
  5495. ; *************************
  5496. ;* tween track types
  5497. ;*************************
  5498.  
  5499.  
  5500. kTweenTypeShort                    EQU        1
  5501. kTweenTypeLong                    EQU        2
  5502. kTweenTypeFixed                    EQU        3
  5503. kTweenTypePoint                    EQU        4
  5504. kTweenTypeQDRect                EQU        5
  5505. kTweenTypeQDRegion                EQU        6
  5506. kTweenTypeMatrix                EQU        7
  5507. kTweenTypeRGBColor                EQU        8
  5508. kTweenTypeGraphicsModeWithRGBColor EQU    9
  5509. kTweenTypeQTFloatSingle            EQU        10
  5510. kTweenTypeQTFloatDouble            EQU        11
  5511. kTweenTypeFixedPoint            EQU        12
  5512. kTweenType3dScale                EQU        '3sca'
  5513. kTweenType3dTranslate            EQU        '3tra'
  5514. kTweenType3dRotate                EQU        '3rot'
  5515. kTweenType3dRotateAboutPoint    EQU        '3rap'
  5516. kTweenType3dRotateAboutAxis        EQU        '3rax'
  5517. kTweenType3dRotateAboutVector    EQU        '3rvc'
  5518. kTweenType3dQuaternion            EQU        '3qua'
  5519. kTweenType3dMatrix                EQU        '3mat'
  5520. kTweenType3dCameraData            EQU        '3cam'
  5521. kTweenType3dSoundLocalizationData EQU    '3slc'
  5522. kTweenTypePathToMatrixTranslation EQU    'gxmt'
  5523. kTweenTypePathToMatrixRotation    EQU        'gxpr'
  5524. kTweenTypePathToMatrixTranslationAndRotation EQU 'gxmr'
  5525. kTweenTypePathToFixedPoint        EQU        'gxfp'
  5526. kTweenTypePathXtoY                EQU        'gxxy'
  5527. kTweenTypePathYtoX                EQU        'gxyx'
  5528. kTweenTypeAtomList                EQU        'atom'
  5529. kTweenTypePolygon                EQU        'poly'
  5530. kTweenTypeMultiMatrix            EQU        'mulm'
  5531. kTweenTypeSpin                    EQU        'spin'
  5532. kTweenType3dMatrixNonLinear        EQU        '3nlr'
  5533. kTweenType3dVRObject            EQU        '3vro'
  5534.  
  5535. kTweenEntry                        EQU        'twen'
  5536. kTweenData                        EQU        'data'
  5537. kTweenType                        EQU        'twnt'
  5538. kTweenStartOffset                EQU        'twst'
  5539. kTweenDuration                    EQU        'twdu'
  5540. kTweenFlags                        EQU        'flag'
  5541. kTweenOutputMin                    EQU        'omin'
  5542. kTweenOutputMax                    EQU        'omax'
  5543. kTweenSequenceElement            EQU        'seqe'
  5544. kTween3dInitialCondition        EQU        'icnd'
  5545. kTweenInterpolationID            EQU        'intr'
  5546. kTweenRegionData                EQU        'qdrg'
  5547. kTweenPictureData                EQU        'PICT'
  5548. kListElementType                EQU        'type'
  5549. kListElementDataType            EQU        'daty'
  5550. kNameAtom                        EQU        'name'
  5551. kInitialRotationAtom            EQU        'inro'
  5552. kNonLinearTweenHeader            EQU        'nlth'
  5553. ;  kTweenFlags
  5554.  
  5555. kTweenReturnDelta                EQU        $00000001
  5556. TweenSequenceEntryRecord RECORD 0
  5557. endPercent                 ds.l    1                ; offset: $0 (0)
  5558. tweenAtomID                 ds.l    1                ; offset: $4 (4)
  5559. dataAtomID                 ds.l    1                ; offset: $8 (8)
  5560. sizeof                     EQU *                    ; size:   $C (12)
  5561.                         ENDR
  5562.  
  5563.  
  5564.  
  5565.  
  5566.  
  5567. ;  they are for non-MacOS file manager
  5568.  
  5569. pathTooLongErr                    EQU        -2110
  5570. emptyPathErr                    EQU        -2111
  5571. noPathMappingErr                EQU        -2112
  5572. pathNotVerifiedErr                EQU        -2113
  5573. unknownFormatErr                EQU        -2114
  5574. wackBadFileErr                    EQU        -2115
  5575. wackForkNotFoundErr                EQU        -2116
  5576. wackBadMetaDataErr                EQU        -2117
  5577. qfcbNotFoundErr                    EQU        -2118
  5578. qfcbNotCreatedErr                EQU        -2119
  5579. AAPNotCreatedErr                EQU        -2120
  5580. AAPNotFoundErr                    EQU        -2121
  5581. ASDBadHeaderErr                    EQU        -2122
  5582. ASDBadForkErr                    EQU        -2123
  5583. ASDEntryNotFoundErr                EQU        -2124
  5584.  
  5585.  
  5586.  
  5587.  
  5588. ; *************************
  5589. ;* Video Media routines
  5590. ;*************************
  5591.  
  5592.  
  5593.  
  5594.  
  5595. videoFlagDontLeanAhead            EQU        $00000001
  5596.  
  5597.  
  5598.  
  5599. ;  use these three routines at your own peril
  5600. ;
  5601. ; pascal ComponentResult VideoMediaResetStatistics(MediaHandler mh)
  5602. ;
  5603.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5604.         Macro
  5605.         _VideoMediaResetStatistics
  5606.             move.l              #$00000105,-(sp)
  5607.             moveq               #0,D0
  5608.             dc.w                $A82A
  5609.         EndM
  5610.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5611.         IMPORT_CFM_FUNCTION VideoMediaResetStatistics
  5612.     ENDIF
  5613.  
  5614. ;
  5615. ; pascal ComponentResult VideoMediaGetStatistics(MediaHandler mh)
  5616. ;
  5617.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5618.         Macro
  5619.         _VideoMediaGetStatistics
  5620.             move.l              #$00000106,-(sp)
  5621.             moveq               #0,D0
  5622.             dc.w                $A82A
  5623.         EndM
  5624.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5625.         IMPORT_CFM_FUNCTION VideoMediaGetStatistics
  5626.     ENDIF
  5627.  
  5628.  
  5629. ;
  5630. ; pascal ComponentResult VideoMediaGetStallCount(MediaHandler mh, unsigned long *stalls)
  5631. ;
  5632.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5633.         Macro
  5634.         _VideoMediaGetStallCount
  5635.             move.l              #$0004010E,-(sp)
  5636.             moveq               #0,D0
  5637.             dc.w                $A82A
  5638.         EndM
  5639.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5640.         IMPORT_CFM_FUNCTION VideoMediaGetStallCount
  5641.     ENDIF
  5642.  
  5643.  
  5644.  
  5645. ; *************************
  5646. ;* Text Media routines
  5647. ;*************************
  5648.  
  5649.  
  5650.  
  5651.  
  5652. ;  Return displayFlags for TextProc 
  5653.  
  5654. txtProcDefaultDisplay            EQU        0                    ;    Use the media's default
  5655. txtProcDontDisplay                EQU        1                    ;    Don't display the text
  5656. txtProcDoDisplay                EQU        2                    ;    Do display the text
  5657. ;
  5658. ; pascal ComponentResult TextMediaSetTextProc(MediaHandler mh, TextMediaUPP TextProc, long refcon)
  5659. ;
  5660.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5661.         Macro
  5662.         _TextMediaSetTextProc
  5663.             move.l              #$00080101,-(sp)
  5664.             moveq               #0,D0
  5665.             dc.w                $A82A
  5666.         EndM
  5667.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5668.         IMPORT_CFM_FUNCTION TextMediaSetTextProc
  5669.     ENDIF
  5670.  
  5671. ;
  5672. ; pascal ComponentResult TextMediaAddTextSample(MediaHandler mh, Ptr text, unsigned long size, short fontNumber, short fontSize, Style textFace, RGBColor *textColor, RGBColor *backColor, short textJustification, Rect *textBox, long displayFlags, TimeValue scrollDelay, short hiliteStart, short hiliteEnd, RGBColor *rgbHiliteColor, TimeValue duration, TimeValue *sampleTime)
  5673. ;
  5674.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5675.         Macro
  5676.         _TextMediaAddTextSample
  5677.             move.l              #$00340102,-(sp)
  5678.             moveq               #0,D0
  5679.             dc.w                $A82A
  5680.         EndM
  5681.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5682.         IMPORT_CFM_FUNCTION TextMediaAddTextSample
  5683.     ENDIF
  5684.  
  5685. ;
  5686. ; pascal ComponentResult TextMediaAddTESample(MediaHandler mh, TEHandle hTE, RGBColor *backColor, short textJustification, Rect *textBox, long displayFlags, TimeValue scrollDelay, short hiliteStart, short hiliteEnd, RGBColor *rgbHiliteColor, TimeValue duration, TimeValue *sampleTime)
  5687. ;
  5688.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5689.         Macro
  5690.         _TextMediaAddTESample
  5691.             move.l              #$00260103,-(sp)
  5692.             moveq               #0,D0
  5693.             dc.w                $A82A
  5694.         EndM
  5695.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5696.         IMPORT_CFM_FUNCTION TextMediaAddTESample
  5697.     ENDIF
  5698.  
  5699. ;
  5700. ; pascal ComponentResult TextMediaAddHiliteSample(MediaHandler mh, short hiliteStart, short hiliteEnd, RGBColor *rgbHiliteColor, TimeValue duration, TimeValue *sampleTime)
  5701. ;
  5702.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5703.         Macro
  5704.         _TextMediaAddHiliteSample
  5705.             move.l              #$00100104,-(sp)
  5706.             moveq               #0,D0
  5707.             dc.w                $A82A
  5708.         EndM
  5709.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5710.         IMPORT_CFM_FUNCTION TextMediaAddHiliteSample
  5711.     ENDIF
  5712.  
  5713.  
  5714. findTextEdgeOK                    EQU        $01                    ; Okay to find text at specified sample time
  5715. findTextCaseSensitive            EQU        $02                    ; Case sensitive search
  5716. findTextReverseSearch            EQU        $04                    ; Search from sampleTime backwards
  5717. findTextWrapAround                EQU        $08                    ; Wrap search when beginning or end of movie is hit
  5718. findTextUseOffset                EQU        $10                    ; Begin search at the given character offset into sample rather than edge
  5719. ;
  5720. ; pascal ComponentResult TextMediaFindNextText(MediaHandler mh, Ptr text, long size, short findFlags, TimeValue startTime, TimeValue *foundTime, TimeValue *foundDuration, long *offset)
  5721. ;
  5722.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5723.         Macro
  5724.         _TextMediaFindNextText
  5725.             move.l              #$001A0105,-(sp)
  5726.             moveq               #0,D0
  5727.             dc.w                $A82A
  5728.         EndM
  5729.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5730.         IMPORT_CFM_FUNCTION TextMediaFindNextText
  5731.     ENDIF
  5732.  
  5733. ;
  5734. ; pascal ComponentResult TextMediaHiliteTextSample(MediaHandler mh, TimeValue sampleTime, short hiliteStart, short hiliteEnd, RGBColor *rgbHiliteColor)
  5735. ;
  5736.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5737.         Macro
  5738.         _TextMediaHiliteTextSample
  5739.             move.l              #$000C0106,-(sp)
  5740.             moveq               #0,D0
  5741.             dc.w                $A82A
  5742.         EndM
  5743.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5744.         IMPORT_CFM_FUNCTION TextMediaHiliteTextSample
  5745.     ENDIF
  5746.  
  5747.  
  5748. dropShadowOffsetType            EQU        'drpo'
  5749. dropShadowTranslucencyType        EQU        'drpt'
  5750. ;
  5751. ; pascal ComponentResult TextMediaSetTextSampleData(MediaHandler mh, void *data, OSType dataType)
  5752. ;
  5753.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5754.         Macro
  5755.         _TextMediaSetTextSampleData
  5756.             move.l              #$00080107,-(sp)
  5757.             moveq               #0,D0
  5758.             dc.w                $A82A
  5759.         EndM
  5760.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5761.         IMPORT_CFM_FUNCTION TextMediaSetTextSampleData
  5762.     ENDIF
  5763.  
  5764.  
  5765.  
  5766.  
  5767.  
  5768. ; *************************
  5769. ;* Sprite Media routines
  5770. ;*************************
  5771.  
  5772. ;  flags for sprite hit test routines 
  5773.  
  5774. spriteHitTestBounds                EQU        $00000001            ;    point must only be within sprite's bounding box
  5775. spriteHitTestImage                EQU        $00000002            ;  point must be within the shape of the sprite's image
  5776. spriteHitTestInvisibleSprites    EQU        $00000004            ;  invisible sprites may be hit tested
  5777. spriteHitTestIsClick            EQU        $00000008            ;  for codecs that want mouse events
  5778. spriteHitTestLocInDisplayCoordinates EQU $00000010            ;    set if you want to pass a display coordiate point to SpriteHitTest
  5779. ;  atom types for sprite media 
  5780.  
  5781. kSpriteAtomType                    EQU        'sprt'
  5782. kSpriteImagesContainerAtomType    EQU        'imct'
  5783. kSpriteImageAtomType            EQU        'imag'
  5784. kSpriteImageDataAtomType        EQU        'imda'
  5785. kSpriteImageGroupIDAtomType        EQU        'imgr'
  5786. kSpriteImageRegistrationAtomType EQU    'imrg'
  5787. kSpriteSharedDataAtomType        EQU        'dflt'
  5788. kSpriteNameAtomType                EQU        'name'
  5789. kSpriteImageNameAtomType        EQU        'name'
  5790. kSpriteUsesImageIDsAtomType        EQU        'uses'                ; leaf data is an array of QTAtomID's, one per image used
  5791. ;
  5792. ; pascal ComponentResult SpriteMediaSetProperty(MediaHandler mh, short spriteIndex, long propertyType, void *propertyValue)
  5793. ;
  5794.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5795.         Macro
  5796.         _SpriteMediaSetProperty
  5797.             move.l              #$000A0101,-(sp)
  5798.             moveq               #0,D0
  5799.             dc.w                $A82A
  5800.         EndM
  5801.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5802.         IMPORT_CFM_FUNCTION SpriteMediaSetProperty
  5803.     ENDIF
  5804.  
  5805. ;
  5806. ; pascal ComponentResult SpriteMediaGetProperty(MediaHandler mh, short spriteIndex, long propertyType, void *propertyValue)
  5807. ;
  5808.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5809.         Macro
  5810.         _SpriteMediaGetProperty
  5811.             move.l              #$000A0102,-(sp)
  5812.             moveq               #0,D0
  5813.             dc.w                $A82A
  5814.         EndM
  5815.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5816.         IMPORT_CFM_FUNCTION SpriteMediaGetProperty
  5817.     ENDIF
  5818.  
  5819. ;
  5820. ; pascal ComponentResult SpriteMediaHitTestSprites(MediaHandler mh, long flags, Point loc, short *spriteHitIndex)
  5821. ;
  5822.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5823.         Macro
  5824.         _SpriteMediaHitTestSprites
  5825.             move.l              #$000C0103,-(sp)
  5826.             moveq               #0,D0
  5827.             dc.w                $A82A
  5828.         EndM
  5829.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5830.         IMPORT_CFM_FUNCTION SpriteMediaHitTestSprites
  5831.     ENDIF
  5832.  
  5833. ;
  5834. ; pascal ComponentResult SpriteMediaCountSprites(MediaHandler mh, short *numSprites)
  5835. ;
  5836.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5837.         Macro
  5838.         _SpriteMediaCountSprites
  5839.             move.l              #$00040104,-(sp)
  5840.             moveq               #0,D0
  5841.             dc.w                $A82A
  5842.         EndM
  5843.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5844.         IMPORT_CFM_FUNCTION SpriteMediaCountSprites
  5845.     ENDIF
  5846.  
  5847. ;
  5848. ; pascal ComponentResult SpriteMediaCountImages(MediaHandler mh, short *numImages)
  5849. ;
  5850.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5851.         Macro
  5852.         _SpriteMediaCountImages
  5853.             move.l              #$00040105,-(sp)
  5854.             moveq               #0,D0
  5855.             dc.w                $A82A
  5856.         EndM
  5857.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5858.         IMPORT_CFM_FUNCTION SpriteMediaCountImages
  5859.     ENDIF
  5860.  
  5861. ;
  5862. ; pascal ComponentResult SpriteMediaGetIndImageDescription(MediaHandler mh, short imageIndex, ImageDescriptionHandle imageDescription)
  5863. ;
  5864.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5865.         Macro
  5866.         _SpriteMediaGetIndImageDescription
  5867.             move.l              #$00060106,-(sp)
  5868.             moveq               #0,D0
  5869.             dc.w                $A82A
  5870.         EndM
  5871.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5872.         IMPORT_CFM_FUNCTION SpriteMediaGetIndImageDescription
  5873.     ENDIF
  5874.  
  5875. ;
  5876. ; pascal ComponentResult SpriteMediaGetDisplayedSampleNumber(MediaHandler mh, long *sampleNum)
  5877. ;
  5878.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5879.         Macro
  5880.         _SpriteMediaGetDisplayedSampleNumber
  5881.             move.l              #$00040107,-(sp)
  5882.             moveq               #0,D0
  5883.             dc.w                $A82A
  5884.         EndM
  5885.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5886.         IMPORT_CFM_FUNCTION SpriteMediaGetDisplayedSampleNumber
  5887.     ENDIF
  5888.  
  5889. ;
  5890. ; pascal ComponentResult SpriteMediaGetSpriteName(MediaHandler mh, QTAtomID spriteID, Str255 spriteName)
  5891. ;
  5892.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5893.         Macro
  5894.         _SpriteMediaGetSpriteName
  5895.             move.l              #$00080108,-(sp)
  5896.             moveq               #0,D0
  5897.             dc.w                $A82A
  5898.         EndM
  5899.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5900.         IMPORT_CFM_FUNCTION SpriteMediaGetSpriteName
  5901.     ENDIF
  5902.  
  5903. ;
  5904. ; pascal ComponentResult SpriteMediaGetImageName(MediaHandler mh, short imageIndex, Str255 imageName)
  5905. ;
  5906.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5907.         Macro
  5908.         _SpriteMediaGetImageName
  5909.             move.l              #$00060109,-(sp)
  5910.             moveq               #0,D0
  5911.             dc.w                $A82A
  5912.         EndM
  5913.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5914.         IMPORT_CFM_FUNCTION SpriteMediaGetImageName
  5915.     ENDIF
  5916.  
  5917. ;
  5918. ; pascal ComponentResult SpriteMediaSetSpriteProperty(MediaHandler mh, QTAtomID spriteID, long propertyType, void *propertyValue)
  5919. ;
  5920.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5921.         Macro
  5922.         _SpriteMediaSetSpriteProperty
  5923.             move.l              #$000C010A,-(sp)
  5924.             moveq               #0,D0
  5925.             dc.w                $A82A
  5926.         EndM
  5927.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5928.         IMPORT_CFM_FUNCTION SpriteMediaSetSpriteProperty
  5929.     ENDIF
  5930.  
  5931. ;
  5932. ; pascal ComponentResult SpriteMediaGetSpriteProperty(MediaHandler mh, QTAtomID spriteID, long propertyType, void *propertyValue)
  5933. ;
  5934.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5935.         Macro
  5936.         _SpriteMediaGetSpriteProperty
  5937.             move.l              #$000C010B,-(sp)
  5938.             moveq               #0,D0
  5939.             dc.w                $A82A
  5940.         EndM
  5941.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5942.         IMPORT_CFM_FUNCTION SpriteMediaGetSpriteProperty
  5943.     ENDIF
  5944.  
  5945. ;
  5946. ; pascal ComponentResult SpriteMediaHitTestAllSprites(MediaHandler mh, long flags, Point loc, QTAtomID *spriteHitID)
  5947. ;
  5948.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5949.         Macro
  5950.         _SpriteMediaHitTestAllSprites
  5951.             move.l              #$000C010C,-(sp)
  5952.             moveq               #0,D0
  5953.             dc.w                $A82A
  5954.         EndM
  5955.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5956.         IMPORT_CFM_FUNCTION SpriteMediaHitTestAllSprites
  5957.     ENDIF
  5958.  
  5959. ;
  5960. ; pascal ComponentResult SpriteMediaHitTestOneSprite(MediaHandler mh, QTAtomID spriteID, long flags, Point loc, Boolean *wasHit)
  5961. ;
  5962.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5963.         Macro
  5964.         _SpriteMediaHitTestOneSprite
  5965.             move.l              #$0010010D,-(sp)
  5966.             moveq               #0,D0
  5967.             dc.w                $A82A
  5968.         EndM
  5969.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5970.         IMPORT_CFM_FUNCTION SpriteMediaHitTestOneSprite
  5971.     ENDIF
  5972.  
  5973. ;
  5974. ; pascal ComponentResult SpriteMediaSpriteIndexToID(MediaHandler mh, short spriteIndex, QTAtomID *spriteID)
  5975. ;
  5976.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5977.         Macro
  5978.         _SpriteMediaSpriteIndexToID
  5979.             move.l              #$0006010E,-(sp)
  5980.             moveq               #0,D0
  5981.             dc.w                $A82A
  5982.         EndM
  5983.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5984.         IMPORT_CFM_FUNCTION SpriteMediaSpriteIndexToID
  5985.     ENDIF
  5986.  
  5987. ;
  5988. ; pascal ComponentResult SpriteMediaSpriteIDToIndex(MediaHandler mh, QTAtomID spriteID, short *spriteIndex)
  5989. ;
  5990.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5991.         Macro
  5992.         _SpriteMediaSpriteIDToIndex
  5993.             move.l              #$0008010F,-(sp)
  5994.             moveq               #0,D0
  5995.             dc.w                $A82A
  5996.         EndM
  5997.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5998.         IMPORT_CFM_FUNCTION SpriteMediaSpriteIDToIndex
  5999.     ENDIF
  6000.  
  6001. ;
  6002. ; pascal ComponentResult SpriteMediaGetSpriteActionsForQTEvent(MediaHandler mh, QTEventRecordPtr event, QTAtomID spriteID, QTAtomContainer *container, QTAtom *atom)
  6003. ;
  6004.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6005.         Macro
  6006.         _SpriteMediaGetSpriteActionsForQTEvent
  6007.             move.l              #$00100110,-(sp)
  6008.             moveq               #0,D0
  6009.             dc.w                $A82A
  6010.         EndM
  6011.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6012.         IMPORT_CFM_FUNCTION SpriteMediaGetSpriteActionsForQTEvent
  6013.     ENDIF
  6014.  
  6015. ;
  6016. ; pascal ComponentResult SpriteMediaSetActionVariable(MediaHandler mh, QTAtomID variableID, const float *value)
  6017. ;
  6018.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6019.         Macro
  6020.         _SpriteMediaSetActionVariable
  6021.             move.l              #$00080111,-(sp)
  6022.             moveq               #0,D0
  6023.             dc.w                $A82A
  6024.         EndM
  6025.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6026.         IMPORT_CFM_FUNCTION SpriteMediaSetActionVariable
  6027.     ENDIF
  6028.  
  6029. ;
  6030. ; pascal ComponentResult SpriteMediaGetActionVariable(MediaHandler mh, QTAtomID variableID, float *value)
  6031. ;
  6032.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6033.         Macro
  6034.         _SpriteMediaGetActionVariable
  6035.             move.l              #$00080112,-(sp)
  6036.             moveq               #0,D0
  6037.             dc.w                $A82A
  6038.         EndM
  6039.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6040.         IMPORT_CFM_FUNCTION SpriteMediaGetActionVariable
  6041.     ENDIF
  6042.  
  6043. ;
  6044. ; pascal ComponentResult SpriteMediaGetIndImageProperty(MediaHandler mh, short imageIndex, long imagePropertyType, void *imagePropertyValue)
  6045. ;
  6046.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6047.         Macro
  6048.         _SpriteMediaGetIndImageProperty
  6049.             move.l              #$000A0113,-(sp)
  6050.             moveq               #0,D0
  6051.             dc.w                $A82A
  6052.         EndM
  6053.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6054.         IMPORT_CFM_FUNCTION SpriteMediaGetIndImageProperty
  6055.     ENDIF
  6056.  
  6057.  
  6058. ; *************************
  6059. ;* 3D Media routines
  6060. ;*************************
  6061.  
  6062. ;
  6063. ; pascal ComponentResult Media3DGetNamedObjectList(MediaHandler mh, QTAtomContainer *objectList)
  6064. ;
  6065.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6066.         Macro
  6067.         _Media3DGetNamedObjectList
  6068.             move.l              #$00040101,-(sp)
  6069.             moveq               #0,D0
  6070.             dc.w                $A82A
  6071.         EndM
  6072.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6073.         IMPORT_CFM_FUNCTION Media3DGetNamedObjectList
  6074.     ENDIF
  6075.  
  6076. ;
  6077. ; pascal ComponentResult Media3DGetRendererList(MediaHandler mh, QTAtomContainer *rendererList)
  6078. ;
  6079.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6080.         Macro
  6081.         _Media3DGetRendererList
  6082.             move.l              #$00040102,-(sp)
  6083.             moveq               #0,D0
  6084.             dc.w                $A82A
  6085.         EndM
  6086.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6087.         IMPORT_CFM_FUNCTION Media3DGetRendererList
  6088.     ENDIF
  6089.  
  6090.  
  6091.  
  6092. ; ****************************************
  6093. ;*                                        *
  6094. ;*      M O V I E   C O N T R O L L E R        *
  6095. ;*                                        *
  6096. ;***************************************
  6097.  
  6098.  
  6099. MovieControllerComponentType    EQU        'play'
  6100.  
  6101.  
  6102. kMovieControllerQTVRFlag        EQU        $01
  6103. kMovieControllerDontDisplayToUser EQU    $02
  6104. ; typedef ComponentInstance             MovieController
  6105.  
  6106.  
  6107. mcActionIdle                    EQU        1                    ; no param
  6108. mcActionDraw                    EQU        2                    ; param is WindowPtr
  6109. mcActionActivate                EQU        3                    ; no param
  6110. mcActionDeactivate                EQU        4                    ; no param
  6111. mcActionMouseDown                EQU        5                    ; param is pointer to EventRecord
  6112. mcActionKey                        EQU        6                    ; param is pointer to EventRecord
  6113. mcActionPlay                    EQU        8                    ; param is Fixed, play rate
  6114. mcActionGoToTime                EQU        12                    ; param is TimeRecord
  6115. mcActionSetVolume                EQU        14                    ; param is a short
  6116. mcActionGetVolume                EQU        15                    ; param is pointer to a short
  6117. mcActionStep                    EQU        18                    ; param is number of steps (short)
  6118. mcActionSetLooping                EQU        21                    ; param is Boolean
  6119. mcActionGetLooping                EQU        22                    ; param is pointer to a Boolean
  6120. mcActionSetLoopIsPalindrome        EQU        23                    ; param is Boolean
  6121. mcActionGetLoopIsPalindrome        EQU        24                    ; param is pointer to a Boolean
  6122. mcActionSetGrowBoxBounds        EQU        25                    ; param is a Rect
  6123. mcActionControllerSizeChanged    EQU        26                    ; no param
  6124. mcActionSetSelectionBegin        EQU        29                    ; param is TimeRecord
  6125. mcActionSetSelectionDuration    EQU        30                    ; param is TimeRecord, action only taken on set-duration
  6126. mcActionSetKeysEnabled            EQU        32                    ; param is Boolean
  6127. mcActionGetKeysEnabled            EQU        33                    ; param is pointer to Boolean
  6128. mcActionSetPlaySelection        EQU        34                    ; param is Boolean
  6129. mcActionGetPlaySelection        EQU        35                    ; param is pointer to Boolean
  6130. mcActionSetUseBadge                EQU        36                    ; param is Boolean
  6131. mcActionGetUseBadge                EQU        37                    ; param is pointer to Boolean
  6132. mcActionSetFlags                EQU        38                    ; param is long of flags
  6133. mcActionGetFlags                EQU        39                    ; param is pointer to a long of flags
  6134. mcActionSetPlayEveryFrame        EQU        40                    ; param is Boolean
  6135. mcActionGetPlayEveryFrame        EQU        41                    ; param is pointer to Boolean
  6136. mcActionGetPlayRate                EQU        42                    ; param is pointer to Fixed
  6137. mcActionShowBalloon                EQU        43                    ; param is a pointer to a boolean. set to false to stop balloon
  6138. mcActionBadgeClick                EQU        44                    ; param is pointer to Boolean. set to false to ignore click
  6139. mcActionMovieClick                EQU        45                    ; param is pointer to event record. change "what" to nullEvt to kill click
  6140. mcActionSuspend                    EQU        46                    ; no param
  6141. mcActionResume                    EQU        47                    ; no param
  6142. mcActionSetControllerKeysEnabled EQU    48                    ; param is Boolean
  6143. mcActionGetTimeSliderRect        EQU        49                    ; param is pointer to rect
  6144. mcActionMovieEdited                EQU        50                    ; no param
  6145. mcActionGetDragEnabled            EQU        51                    ; param is pointer to Boolean
  6146. mcActionSetDragEnabled            EQU        52                    ; param is Boolean
  6147. mcActionGetSelectionBegin        EQU        53                    ; param is TimeRecord
  6148. mcActionGetSelectionDuration    EQU        54                    ; param is TimeRecord
  6149. mcActionPrerollAndPlay            EQU        55                    ; param is Fixed, play rate
  6150. mcActionGetCursorSettingEnabled    EQU        56                    ; param is pointer to Boolean
  6151. mcActionSetCursorSettingEnabled    EQU        57                    ; param is Boolean
  6152. mcActionSetColorTable            EQU        58                    ; param is CTabHandle
  6153. mcActionLinkToURL                EQU        59                    ; param is Handle to URL
  6154. mcActionCustomButtonClick        EQU        60                    ; param is pointer to EventRecord
  6155. mcActionForceTimeTableUpdate    EQU        61                    ; no param
  6156. mcActionSetControllerTimeLimits    EQU        62                    ; param is pointer to 2 time values min/max. do no send this message to controller. used internally only.
  6157. mcActionExecuteAllActionsForQTEvent EQU    63                    ; param is ResolvedQTEventSpecPtr
  6158. mcActionExecuteOneActionForQTEvent EQU    64                    ; param is ResolvedQTEventSpecPtr
  6159. mcActionAdjustCursor            EQU        65                    ; param is pointer to EventRecord (WindowPtr is in message parameter)
  6160. mcActionUseTrackForTimeTable    EQU        66                    ; param is pointer to {long trackID; Boolean useIt}. do not send this message to controller. 
  6161. mcActionClickAndHoldPoint        EQU        67                    ; param is point (local coordinates). return true if point has click & hold action (e.g., VR object movie autorotate spot)
  6162. mcActionShowMessageString        EQU        68                    ; param is a StringPtr
  6163. ; typedef short                         mcAction
  6164.  
  6165.  
  6166. mcFlagSuppressMovieFrame        EQU        $01
  6167. mcFlagSuppressStepButtons        EQU        $02
  6168. mcFlagSuppressSpeakerButton        EQU        $04
  6169. mcFlagsUseWindowPalette            EQU        $08
  6170. mcFlagsDontInvalidate            EQU        $10
  6171. mcFlagsUseCustomButton            EQU        $20
  6172.  
  6173.  
  6174. mcPositionDontInvalidate        EQU        $20
  6175. ; typedef unsigned long                 mcFlags
  6176.  
  6177.  
  6178. kMCIEEnabledButtonPicture        EQU        1
  6179. kMCIEDisabledButtonPicture        EQU        2
  6180. kMCIEDepressedButtonPicture        EQU        3
  6181. kMCIEEnabledSizeBoxPicture        EQU        4
  6182. kMCIEDisabledSizeBoxPicture        EQU        5
  6183. kMCIEEnabledUnavailableButtonPicture EQU 6
  6184. kMCIEDisabledUnavailableButtonPicture EQU 7
  6185. kMCIESoundSlider                EQU        128
  6186. kMCIESoundThumb                    EQU        129
  6187. kMCIEColorTable                    EQU        256
  6188. kMCIEIsFlatAppearance            EQU        257
  6189. kMCIEDoButtonIconsDropOnDepress    EQU        258
  6190. ; typedef unsigned long                 MCInterfaceElement
  6191.  
  6192. ;    menu related stuff
  6193. ;
  6194.  
  6195.  
  6196. mcInfoUndoAvailable                EQU        $01
  6197. mcInfoCutAvailable                EQU        $02
  6198. mcInfoCopyAvailable                EQU        $04
  6199. mcInfoPasteAvailable            EQU        $08
  6200. mcInfoClearAvailable            EQU        $10
  6201. mcInfoHasSound                    EQU        $20
  6202. mcInfoIsPlaying                    EQU        $40
  6203. mcInfoIsLooping                    EQU        $80
  6204. mcInfoIsInPalindrome            EQU        $0100
  6205. mcInfoEditingEnabled            EQU        $0200
  6206. mcInfoMovieIsInteractive        EQU        $0400
  6207. ;  menu item codes
  6208.  
  6209. mcMenuUndo                        EQU        1
  6210. mcMenuCut                        EQU        3
  6211. mcMenuCopy                        EQU        4
  6212. mcMenuPaste                        EQU        5
  6213. mcMenuClear                        EQU        6
  6214.  
  6215.  
  6216.  
  6217. ;  target management 
  6218. ;
  6219. ; pascal ComponentResult MCSetMovie(MovieController mc, Movie theMovie, WindowPtr movieWindow, Point where)
  6220. ;
  6221.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6222.         Macro
  6223.         _MCSetMovie
  6224.             move.l              #$000C0002,-(sp)
  6225.             moveq               #0,D0
  6226.             dc.w                $A82A
  6227.         EndM
  6228.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6229.         IMPORT_CFM_FUNCTION MCSetMovie
  6230.     ENDIF
  6231.  
  6232. ;
  6233. ; pascal Movie MCGetIndMovie(MovieController mc, short index)
  6234. ;
  6235.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6236.         Macro
  6237.         _MCGetIndMovie
  6238.             move.l              #$00020005,-(sp)
  6239.             moveq               #0,D0
  6240.             dc.w                $A82A
  6241.         EndM
  6242.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6243.         IMPORT_CFM_FUNCTION MCGetIndMovie
  6244.     ENDIF
  6245.  
  6246.  
  6247. ;
  6248. ; pascal ComponentResult MCRemoveAllMovies(MovieController mc)
  6249. ;
  6250.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6251.         Macro
  6252.         _MCRemoveAllMovies
  6253.             move.l              #$00000006,-(sp)
  6254.             moveq               #0,D0
  6255.             dc.w                $A82A
  6256.         EndM
  6257.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6258.         IMPORT_CFM_FUNCTION MCRemoveAllMovies
  6259.     ENDIF
  6260.  
  6261. ;
  6262. ; pascal ComponentResult MCRemoveAMovie(MovieController mc, Movie m)
  6263. ;
  6264.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6265.         Macro
  6266.         _MCRemoveAMovie
  6267.             move.l              #$00040003,-(sp)
  6268.             moveq               #0,D0
  6269.             dc.w                $A82A
  6270.         EndM
  6271.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6272.         IMPORT_CFM_FUNCTION MCRemoveAMovie
  6273.     ENDIF
  6274.  
  6275. ;
  6276. ; pascal ComponentResult MCRemoveMovie(MovieController mc)
  6277. ;
  6278.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6279.         Macro
  6280.         _MCRemoveMovie
  6281.             move.l              #$00000006,-(sp)
  6282.             moveq               #0,D0
  6283.             dc.w                $A82A
  6284.         EndM
  6285.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6286.         IMPORT_CFM_FUNCTION MCRemoveMovie
  6287.     ENDIF
  6288.  
  6289. ;  event handling etc. 
  6290. ;
  6291. ; pascal ComponentResult MCIsPlayerEvent(MovieController mc, const EventRecord *e)
  6292. ;
  6293.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6294.         Macro
  6295.         _MCIsPlayerEvent
  6296.             move.l              #$00040007,-(sp)
  6297.             moveq               #0,D0
  6298.             dc.w                $A82A
  6299.         EndM
  6300.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6301.         IMPORT_CFM_FUNCTION MCIsPlayerEvent
  6302.     ENDIF
  6303.  
  6304. ;  obsolete. use MCSetActionFilterWithRefCon instead. 
  6305. ;
  6306. ; pascal ComponentResult MCSetActionFilter(MovieController mc, MCActionFilterUPP blob)
  6307. ;
  6308.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6309.         Macro
  6310.         _MCSetActionFilter
  6311.             move.l              #$00040008,-(sp)
  6312.             moveq               #0,D0
  6313.             dc.w                $A82A
  6314.         EndM
  6315.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6316.         IMPORT_CFM_FUNCTION MCSetActionFilter
  6317.     ENDIF
  6318.  
  6319. ;    proc is of the form:
  6320. ;        Boolean userPlayerFilter(MovieController mc, short *action, void *params) =
  6321. ;    proc returns TRUE if it handles the action, FALSE if not
  6322. ;    action is passed as a VAR so that it could be changed by filter
  6323. ;    this is consistent with the current dialog manager stuff
  6324. ;    params is any potential parameters that go with the action
  6325. ;        such as set playback rate to xxx.
  6326. ;
  6327.  
  6328. ;
  6329. ; pascal ComponentResult MCDoAction(MovieController mc, short action, void *params)
  6330. ;
  6331.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6332.         Macro
  6333.         _MCDoAction
  6334.             move.l              #$00060009,-(sp)
  6335.             moveq               #0,D0
  6336.             dc.w                $A82A
  6337.         EndM
  6338.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6339.         IMPORT_CFM_FUNCTION MCDoAction
  6340.     ENDIF
  6341.  
  6342. ;  state type things 
  6343. ;
  6344. ; pascal ComponentResult MCSetControllerAttached(MovieController mc, Boolean attach)
  6345. ;
  6346.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6347.         Macro
  6348.         _MCSetControllerAttached
  6349.             move.l              #$0002000A,-(sp)
  6350.             moveq               #0,D0
  6351.             dc.w                $A82A
  6352.         EndM
  6353.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6354.         IMPORT_CFM_FUNCTION MCSetControllerAttached
  6355.     ENDIF
  6356.  
  6357. ;
  6358. ; pascal ComponentResult MCIsControllerAttached(MovieController mc)
  6359. ;
  6360.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6361.         Macro
  6362.         _MCIsControllerAttached
  6363.             move.l              #$0000000B,-(sp)
  6364.             moveq               #0,D0
  6365.             dc.w                $A82A
  6366.         EndM
  6367.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6368.         IMPORT_CFM_FUNCTION MCIsControllerAttached
  6369.     ENDIF
  6370.  
  6371. ;
  6372. ; pascal ComponentResult MCSetControllerPort(MovieController mc, CGrafPtr gp)
  6373. ;
  6374.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6375.         Macro
  6376.         _MCSetControllerPort
  6377.             move.l              #$0004000C,-(sp)
  6378.             moveq               #0,D0
  6379.             dc.w                $A82A
  6380.         EndM
  6381.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6382.         IMPORT_CFM_FUNCTION MCSetControllerPort
  6383.     ENDIF
  6384.  
  6385. ;
  6386. ; pascal CGrafPtr MCGetControllerPort(MovieController mc)
  6387. ;
  6388.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6389.         Macro
  6390.         _MCGetControllerPort
  6391.             move.l              #$0000000D,-(sp)
  6392.             moveq               #0,D0
  6393.             dc.w                $A82A
  6394.         EndM
  6395.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6396.         IMPORT_CFM_FUNCTION MCGetControllerPort
  6397.     ENDIF
  6398.  
  6399. ;
  6400. ; pascal ComponentResult MCSetVisible(MovieController mc, Boolean visible)
  6401. ;
  6402.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6403.         Macro
  6404.         _MCSetVisible
  6405.             move.l              #$0002000E,-(sp)
  6406.             moveq               #0,D0
  6407.             dc.w                $A82A
  6408.         EndM
  6409.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6410.         IMPORT_CFM_FUNCTION MCSetVisible
  6411.     ENDIF
  6412.  
  6413. ;
  6414. ; pascal ComponentResult MCGetVisible(MovieController mc)
  6415. ;
  6416.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6417.         Macro
  6418.         _MCGetVisible
  6419.             move.l              #$0000000F,-(sp)
  6420.             moveq               #0,D0
  6421.             dc.w                $A82A
  6422.         EndM
  6423.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6424.         IMPORT_CFM_FUNCTION MCGetVisible
  6425.     ENDIF
  6426.  
  6427. ;
  6428. ; pascal ComponentResult MCGetControllerBoundsRect(MovieController mc, Rect *bounds)
  6429. ;
  6430.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6431.         Macro
  6432.         _MCGetControllerBoundsRect
  6433.             move.l              #$00040010,-(sp)
  6434.             moveq               #0,D0
  6435.             dc.w                $A82A
  6436.         EndM
  6437.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6438.         IMPORT_CFM_FUNCTION MCGetControllerBoundsRect
  6439.     ENDIF
  6440.  
  6441. ;
  6442. ; pascal ComponentResult MCSetControllerBoundsRect(MovieController mc, const Rect *bounds)
  6443. ;
  6444.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6445.         Macro
  6446.         _MCSetControllerBoundsRect
  6447.             move.l              #$00040011,-(sp)
  6448.             moveq               #0,D0
  6449.             dc.w                $A82A
  6450.         EndM
  6451.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6452.         IMPORT_CFM_FUNCTION MCSetControllerBoundsRect
  6453.     ENDIF
  6454.  
  6455. ;
  6456. ; pascal RgnHandle MCGetControllerBoundsRgn(MovieController mc)
  6457. ;
  6458.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6459.         Macro
  6460.         _MCGetControllerBoundsRgn
  6461.             move.l              #$00000012,-(sp)
  6462.             moveq               #0,D0
  6463.             dc.w                $A82A
  6464.         EndM
  6465.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6466.         IMPORT_CFM_FUNCTION MCGetControllerBoundsRgn
  6467.     ENDIF
  6468.  
  6469. ;
  6470. ; pascal RgnHandle MCGetWindowRgn(MovieController mc, WindowPtr w)
  6471. ;
  6472.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6473.         Macro
  6474.         _MCGetWindowRgn
  6475.             move.l              #$00040013,-(sp)
  6476.             moveq               #0,D0
  6477.             dc.w                $A82A
  6478.         EndM
  6479.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6480.         IMPORT_CFM_FUNCTION MCGetWindowRgn
  6481.     ENDIF
  6482.  
  6483.  
  6484. ;  other stuff 
  6485. ;
  6486. ; pascal ComponentResult MCMovieChanged(MovieController mc, Movie m)
  6487. ;
  6488.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6489.         Macro
  6490.         _MCMovieChanged
  6491.             move.l              #$00040014,-(sp)
  6492.             moveq               #0,D0
  6493.             dc.w                $A82A
  6494.         EndM
  6495.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6496.         IMPORT_CFM_FUNCTION MCMovieChanged
  6497.     ENDIF
  6498.  
  6499.  
  6500. ;    called when the app has changed thing about the movie (like bounding rect) or rate. So that we
  6501. ;        can update our graphical (and internal) state accordingly.
  6502. ;
  6503.  
  6504. ;
  6505. ; pascal ComponentResult MCSetDuration(MovieController mc, TimeValue duration)
  6506. ;
  6507.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6508.         Macro
  6509.         _MCSetDuration
  6510.             move.l              #$00040015,-(sp)
  6511.             moveq               #0,D0
  6512.             dc.w                $A82A
  6513.         EndM
  6514.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6515.         IMPORT_CFM_FUNCTION MCSetDuration
  6516.     ENDIF
  6517.  
  6518. ;    duration to use for time slider -- will be reset next time MCMovieChanged is called
  6519. ;        or MCSetMovie is called
  6520. ;
  6521.  
  6522. ;
  6523. ; pascal TimeValue MCGetCurrentTime(MovieController mc, TimeScale *scale)
  6524. ;
  6525.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6526.         Macro
  6527.         _MCGetCurrentTime
  6528.             move.l              #$00040016,-(sp)
  6529.             moveq               #0,D0
  6530.             dc.w                $A82A
  6531.         EndM
  6532.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6533.         IMPORT_CFM_FUNCTION MCGetCurrentTime
  6534.     ENDIF
  6535.  
  6536. ;    returns the time value and the time scale it is on. if there are no movies, the
  6537. ;        time scale is passed back as 0. scale is an optional parameter
  6538. ;
  6539. ;
  6540.  
  6541. ;
  6542. ; pascal ComponentResult MCNewAttachedController(MovieController mc, Movie theMovie, WindowPtr w, Point where)
  6543. ;
  6544.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6545.         Macro
  6546.         _MCNewAttachedController
  6547.             move.l              #$000C0017,-(sp)
  6548.             moveq               #0,D0
  6549.             dc.w                $A82A
  6550.         EndM
  6551.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6552.         IMPORT_CFM_FUNCTION MCNewAttachedController
  6553.     ENDIF
  6554.  
  6555. ;    makes theMovie the only movie attached to the controller. makes the controller visible.
  6556. ;    the window and where parameters are passed a long to MCSetMovie and behave as
  6557. ;    described there
  6558. ;
  6559.  
  6560. ;
  6561. ; pascal ComponentResult MCDraw(MovieController mc, WindowPtr w)
  6562. ;
  6563.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6564.         Macro
  6565.         _MCDraw
  6566.             move.l              #$00040018,-(sp)
  6567.             moveq               #0,D0
  6568.             dc.w                $A82A
  6569.         EndM
  6570.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6571.         IMPORT_CFM_FUNCTION MCDraw
  6572.     ENDIF
  6573.  
  6574. ;
  6575. ; pascal ComponentResult MCActivate(MovieController mc, WindowPtr w, Boolean activate)
  6576. ;
  6577.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6578.         Macro
  6579.         _MCActivate
  6580.             move.l              #$00060019,-(sp)
  6581.             moveq               #0,D0
  6582.             dc.w                $A82A
  6583.         EndM
  6584.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6585.         IMPORT_CFM_FUNCTION MCActivate
  6586.     ENDIF
  6587.  
  6588. ;
  6589. ; pascal ComponentResult MCIdle(MovieController mc)
  6590. ;
  6591.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6592.         Macro
  6593.         _MCIdle
  6594.             move.l              #$0000001A,-(sp)
  6595.             moveq               #0,D0
  6596.             dc.w                $A82A
  6597.         EndM
  6598.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6599.         IMPORT_CFM_FUNCTION MCIdle
  6600.     ENDIF
  6601.  
  6602. ;
  6603. ; pascal ComponentResult MCKey(MovieController mc, SInt8 key, long modifiers)
  6604. ;
  6605.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6606.         Macro
  6607.         _MCKey
  6608.             move.l              #$0006001B,-(sp)
  6609.             moveq               #0,D0
  6610.             dc.w                $A82A
  6611.         EndM
  6612.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6613.         IMPORT_CFM_FUNCTION MCKey
  6614.     ENDIF
  6615.  
  6616. ;
  6617. ; pascal ComponentResult MCClick(MovieController mc, WindowPtr w, Point where, long when, long modifiers)
  6618. ;
  6619.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6620.         Macro
  6621.         _MCClick
  6622.             move.l              #$0010001C,-(sp)
  6623.             moveq               #0,D0
  6624.             dc.w                $A82A
  6625.         EndM
  6626.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6627.         IMPORT_CFM_FUNCTION MCClick
  6628.     ENDIF
  6629.  
  6630.  
  6631. ;    calls for editing
  6632. ;
  6633.  
  6634. ;
  6635. ; pascal ComponentResult MCEnableEditing(MovieController mc, Boolean enabled)
  6636. ;
  6637.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6638.         Macro
  6639.         _MCEnableEditing
  6640.             move.l              #$0002001D,-(sp)
  6641.             moveq               #0,D0
  6642.             dc.w                $A82A
  6643.         EndM
  6644.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6645.         IMPORT_CFM_FUNCTION MCEnableEditing
  6646.     ENDIF
  6647.  
  6648. ;
  6649. ; pascal long MCIsEditingEnabled(MovieController mc)
  6650. ;
  6651.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6652.         Macro
  6653.         _MCIsEditingEnabled
  6654.             move.l              #$0000001E,-(sp)
  6655.             moveq               #0,D0
  6656.             dc.w                $A82A
  6657.         EndM
  6658.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6659.         IMPORT_CFM_FUNCTION MCIsEditingEnabled
  6660.     ENDIF
  6661.  
  6662. ;
  6663. ; pascal Movie MCCopy(MovieController mc)
  6664. ;
  6665.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6666.         Macro
  6667.         _MCCopy
  6668.             move.l              #$0000001F,-(sp)
  6669.             moveq               #0,D0
  6670.             dc.w                $A82A
  6671.         EndM
  6672.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6673.         IMPORT_CFM_FUNCTION MCCopy
  6674.     ENDIF
  6675.  
  6676. ;
  6677. ; pascal Movie MCCut(MovieController mc)
  6678. ;
  6679.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6680.         Macro
  6681.         _MCCut
  6682.             move.l              #$00000020,-(sp)
  6683.             moveq               #0,D0
  6684.             dc.w                $A82A
  6685.         EndM
  6686.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6687.         IMPORT_CFM_FUNCTION MCCut
  6688.     ENDIF
  6689.  
  6690. ;
  6691. ; pascal ComponentResult MCPaste(MovieController mc, Movie srcMovie)
  6692. ;
  6693.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6694.         Macro
  6695.         _MCPaste
  6696.             move.l              #$00040021,-(sp)
  6697.             moveq               #0,D0
  6698.             dc.w                $A82A
  6699.         EndM
  6700.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6701.         IMPORT_CFM_FUNCTION MCPaste
  6702.     ENDIF
  6703.  
  6704. ;
  6705. ; pascal ComponentResult MCClear(MovieController mc)
  6706. ;
  6707.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6708.         Macro
  6709.         _MCClear
  6710.             move.l              #$00000022,-(sp)
  6711.             moveq               #0,D0
  6712.             dc.w                $A82A
  6713.         EndM
  6714.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6715.         IMPORT_CFM_FUNCTION MCClear
  6716.     ENDIF
  6717.  
  6718. ;
  6719. ; pascal ComponentResult MCUndo(MovieController mc)
  6720. ;
  6721.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6722.         Macro
  6723.         _MCUndo
  6724.             move.l              #$00000023,-(sp)
  6725.             moveq               #0,D0
  6726.             dc.w                $A82A
  6727.         EndM
  6728.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6729.         IMPORT_CFM_FUNCTION MCUndo
  6730.     ENDIF
  6731.  
  6732.  
  6733. ; *    somewhat special stuff
  6734.  
  6735. ;
  6736. ; pascal ComponentResult MCPositionController(MovieController mc, const Rect *movieRect, const Rect *controllerRect, long someFlags)
  6737. ;
  6738.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6739.         Macro
  6740.         _MCPositionController
  6741.             move.l              #$000C0024,-(sp)
  6742.             moveq               #0,D0
  6743.             dc.w                $A82A
  6744.         EndM
  6745.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6746.         IMPORT_CFM_FUNCTION MCPositionController
  6747.     ENDIF
  6748.  
  6749.  
  6750. ;
  6751. ; pascal ComponentResult MCGetControllerInfo(MovieController mc, long *someFlags)
  6752. ;
  6753.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6754.         Macro
  6755.         _MCGetControllerInfo
  6756.             move.l              #$00040025,-(sp)
  6757.             moveq               #0,D0
  6758.             dc.w                $A82A
  6759.         EndM
  6760.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6761.         IMPORT_CFM_FUNCTION MCGetControllerInfo
  6762.     ENDIF
  6763.  
  6764.  
  6765.  
  6766. ;
  6767. ; pascal ComponentResult MCSetClip(MovieController mc, RgnHandle theClip, RgnHandle movieClip)
  6768. ;
  6769.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6770.         Macro
  6771.         _MCSetClip
  6772.             move.l              #$00080028,-(sp)
  6773.             moveq               #0,D0
  6774.             dc.w                $A82A
  6775.         EndM
  6776.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6777.         IMPORT_CFM_FUNCTION MCSetClip
  6778.     ENDIF
  6779.  
  6780. ;
  6781. ; pascal ComponentResult MCGetClip(MovieController mc, RgnHandle *theClip, RgnHandle *movieClip)
  6782. ;
  6783.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6784.         Macro
  6785.         _MCGetClip
  6786.             move.l              #$00080029,-(sp)
  6787.             moveq               #0,D0
  6788.             dc.w                $A82A
  6789.         EndM
  6790.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6791.         IMPORT_CFM_FUNCTION MCGetClip
  6792.     ENDIF
  6793.  
  6794.  
  6795. ;
  6796. ; pascal ComponentResult MCDrawBadge(MovieController mc, RgnHandle movieRgn, RgnHandle *badgeRgn)
  6797. ;
  6798.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6799.         Macro
  6800.         _MCDrawBadge
  6801.             move.l              #$0008002A,-(sp)
  6802.             moveq               #0,D0
  6803.             dc.w                $A82A
  6804.         EndM
  6805.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6806.         IMPORT_CFM_FUNCTION MCDrawBadge
  6807.     ENDIF
  6808.  
  6809. ;
  6810. ; pascal ComponentResult MCSetUpEditMenu(MovieController mc, long modifiers, MenuHandle mh)
  6811. ;
  6812.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6813.         Macro
  6814.         _MCSetUpEditMenu
  6815.             move.l              #$0008002B,-(sp)
  6816.             moveq               #0,D0
  6817.             dc.w                $A82A
  6818.         EndM
  6819.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6820.         IMPORT_CFM_FUNCTION MCSetUpEditMenu
  6821.     ENDIF
  6822.  
  6823. ;
  6824. ; pascal ComponentResult MCGetMenuString(MovieController mc, long modifiers, short item, Str255 aString)
  6825. ;
  6826.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6827.         Macro
  6828.         _MCGetMenuString
  6829.             move.l              #$000A002C,-(sp)
  6830.             moveq               #0,D0
  6831.             dc.w                $A82A
  6832.         EndM
  6833.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6834.         IMPORT_CFM_FUNCTION MCGetMenuString
  6835.     ENDIF
  6836.  
  6837. ;
  6838. ; pascal ComponentResult MCSetActionFilterWithRefCon(MovieController mc, MCActionFilterWithRefConUPP blob, long refCon)
  6839. ;
  6840.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6841.         Macro
  6842.         _MCSetActionFilterWithRefCon
  6843.             move.l              #$0008002D,-(sp)
  6844.             moveq               #0,D0
  6845.             dc.w                $A82A
  6846.         EndM
  6847.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6848.         IMPORT_CFM_FUNCTION MCSetActionFilterWithRefCon
  6849.     ENDIF
  6850.  
  6851. ;
  6852. ; pascal ComponentResult MCPtInController(MovieController mc, Point thePt, Boolean *inController)
  6853. ;
  6854.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6855.         Macro
  6856.         _MCPtInController
  6857.             move.l              #$0008002E,-(sp)
  6858.             moveq               #0,D0
  6859.             dc.w                $A82A
  6860.         EndM
  6861.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6862.         IMPORT_CFM_FUNCTION MCPtInController
  6863.     ENDIF
  6864.  
  6865. ;
  6866. ; pascal ComponentResult MCInvalidate(MovieController mc, WindowPtr w, RgnHandle invalidRgn)
  6867. ;
  6868.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6869.         Macro
  6870.         _MCInvalidate
  6871.             move.l              #$0008002F,-(sp)
  6872.             moveq               #0,D0
  6873.             dc.w                $A82A
  6874.         EndM
  6875.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6876.         IMPORT_CFM_FUNCTION MCInvalidate
  6877.     ENDIF
  6878.  
  6879. ;
  6880. ; pascal ComponentResult MCAdjustCursor(MovieController mc, WindowPtr w, Point where, long modifiers)
  6881. ;
  6882.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6883.         Macro
  6884.         _MCAdjustCursor
  6885.             move.l              #$000C0030,-(sp)
  6886.             moveq               #0,D0
  6887.             dc.w                $A82A
  6888.         EndM
  6889.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6890.         IMPORT_CFM_FUNCTION MCAdjustCursor
  6891.     ENDIF
  6892.  
  6893. ;
  6894. ; pascal ComponentResult MCGetInterfaceElement(MovieController mc, MCInterfaceElement whichElement, void *element)
  6895. ;
  6896.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6897.         Macro
  6898.         _MCGetInterfaceElement
  6899.             move.l              #$00080031,-(sp)
  6900.             moveq               #0,D0
  6901.             dc.w                $A82A
  6902.         EndM
  6903.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6904.         IMPORT_CFM_FUNCTION MCGetInterfaceElement
  6905.     ENDIF
  6906.  
  6907.  
  6908.  
  6909.  
  6910.  
  6911. ; ****************************************
  6912. ;*                                        *
  6913. ;*          T  I  M  E  B  A  S  E            *
  6914. ;*                                        *
  6915. ;***************************************
  6916.  
  6917. ;
  6918. ; pascal TimeBase NewTimeBase(void )
  6919. ;
  6920.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6921.         Macro
  6922.         _NewTimeBase
  6923.             move.w              #$00A5,D0
  6924.             dc.w                $AAAA
  6925.         EndM
  6926.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6927.         IMPORT_CFM_FUNCTION NewTimeBase
  6928.     ENDIF
  6929.  
  6930. ;
  6931. ; pascal void DisposeTimeBase(TimeBase tb)
  6932. ;
  6933.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6934.         Macro
  6935.         _DisposeTimeBase
  6936.             move.w              #$00B6,D0
  6937.             dc.w                $AAAA
  6938.         EndM
  6939.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6940.         IMPORT_CFM_FUNCTION DisposeTimeBase
  6941.     ENDIF
  6942.  
  6943. ;
  6944. ; pascal TimeValue GetTimeBaseTime(TimeBase tb, TimeScale s, TimeRecord *tr)
  6945. ;
  6946.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6947.         Macro
  6948.         _GetTimeBaseTime
  6949.             move.w              #$00A6,D0
  6950.             dc.w                $AAAA
  6951.         EndM
  6952.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6953.         IMPORT_CFM_FUNCTION GetTimeBaseTime
  6954.     ENDIF
  6955.  
  6956. ;
  6957. ; pascal void SetTimeBaseTime(TimeBase tb, const TimeRecord *tr)
  6958. ;
  6959.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6960.         Macro
  6961.         _SetTimeBaseTime
  6962.             move.w              #$00A7,D0
  6963.             dc.w                $AAAA
  6964.         EndM
  6965.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6966.         IMPORT_CFM_FUNCTION SetTimeBaseTime
  6967.     ENDIF
  6968.  
  6969. ;
  6970. ; pascal void SetTimeBaseValue(TimeBase tb, TimeValue t, TimeScale s)
  6971. ;
  6972.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6973.         Macro
  6974.         _SetTimeBaseValue
  6975.             move.w              #$00A8,D0
  6976.             dc.w                $AAAA
  6977.         EndM
  6978.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6979.         IMPORT_CFM_FUNCTION SetTimeBaseValue
  6980.     ENDIF
  6981.  
  6982. ;
  6983. ; pascal Fixed GetTimeBaseRate(TimeBase tb)
  6984. ;
  6985.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6986.         Macro
  6987.         _GetTimeBaseRate
  6988.             move.w              #$00A9,D0
  6989.             dc.w                $AAAA
  6990.         EndM
  6991.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6992.         IMPORT_CFM_FUNCTION GetTimeBaseRate
  6993.     ENDIF
  6994.  
  6995. ;
  6996. ; pascal void SetTimeBaseRate(TimeBase tb, Fixed r)
  6997. ;
  6998.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6999.         Macro
  7000.         _SetTimeBaseRate
  7001.             move.w              #$00AA,D0
  7002.             dc.w                $AAAA
  7003.         EndM
  7004.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7005.         IMPORT_CFM_FUNCTION SetTimeBaseRate
  7006.     ENDIF
  7007.  
  7008. ;
  7009. ; pascal TimeValue GetTimeBaseStartTime(TimeBase tb, TimeScale s, TimeRecord *tr)
  7010. ;
  7011.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7012.         Macro
  7013.         _GetTimeBaseStartTime
  7014.             move.w              #$00AB,D0
  7015.             dc.w                $AAAA
  7016.         EndM
  7017.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7018.         IMPORT_CFM_FUNCTION GetTimeBaseStartTime
  7019.     ENDIF
  7020.  
  7021. ;
  7022. ; pascal void SetTimeBaseStartTime(TimeBase tb, const TimeRecord *tr)
  7023. ;
  7024.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7025.         Macro
  7026.         _SetTimeBaseStartTime
  7027.             move.w              #$00AC,D0
  7028.             dc.w                $AAAA
  7029.         EndM
  7030.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7031.         IMPORT_CFM_FUNCTION SetTimeBaseStartTime
  7032.     ENDIF
  7033.  
  7034. ;
  7035. ; pascal TimeValue GetTimeBaseStopTime(TimeBase tb, TimeScale s, TimeRecord *tr)
  7036. ;
  7037.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7038.         Macro
  7039.         _GetTimeBaseStopTime
  7040.             move.w              #$00AD,D0
  7041.             dc.w                $AAAA
  7042.         EndM
  7043.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7044.         IMPORT_CFM_FUNCTION GetTimeBaseStopTime
  7045.     ENDIF
  7046.  
  7047. ;
  7048. ; pascal void SetTimeBaseStopTime(TimeBase tb, const TimeRecord *tr)
  7049. ;
  7050.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7051.         Macro
  7052.         _SetTimeBaseStopTime
  7053.             move.w              #$00AE,D0
  7054.             dc.w                $AAAA
  7055.         EndM
  7056.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7057.         IMPORT_CFM_FUNCTION SetTimeBaseStopTime
  7058.     ENDIF
  7059.  
  7060. ;
  7061. ; pascal long GetTimeBaseFlags(TimeBase tb)
  7062. ;
  7063.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7064.         Macro
  7065.         _GetTimeBaseFlags
  7066.             move.w              #$00B1,D0
  7067.             dc.w                $AAAA
  7068.         EndM
  7069.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7070.         IMPORT_CFM_FUNCTION GetTimeBaseFlags
  7071.     ENDIF
  7072.  
  7073. ;
  7074. ; pascal void SetTimeBaseFlags(TimeBase tb, long timeBaseFlags)
  7075. ;
  7076.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7077.         Macro
  7078.         _SetTimeBaseFlags
  7079.             move.w              #$00B2,D0
  7080.             dc.w                $AAAA
  7081.         EndM
  7082.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7083.         IMPORT_CFM_FUNCTION SetTimeBaseFlags
  7084.     ENDIF
  7085.  
  7086. ;
  7087. ; pascal void SetTimeBaseMasterTimeBase(TimeBase slave, TimeBase master, const TimeRecord *slaveZero)
  7088. ;
  7089.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7090.         Macro
  7091.         _SetTimeBaseMasterTimeBase
  7092.             move.w              #$00B4,D0
  7093.             dc.w                $AAAA
  7094.         EndM
  7095.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7096.         IMPORT_CFM_FUNCTION SetTimeBaseMasterTimeBase
  7097.     ENDIF
  7098.  
  7099. ;
  7100. ; pascal TimeBase GetTimeBaseMasterTimeBase(TimeBase tb)
  7101. ;
  7102.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7103.         Macro
  7104.         _GetTimeBaseMasterTimeBase
  7105.             move.w              #$00AF,D0
  7106.             dc.w                $AAAA
  7107.         EndM
  7108.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7109.         IMPORT_CFM_FUNCTION GetTimeBaseMasterTimeBase
  7110.     ENDIF
  7111.  
  7112. ;
  7113. ; pascal void SetTimeBaseMasterClock(TimeBase slave, Component clockMeister, const TimeRecord *slaveZero)
  7114. ;
  7115.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7116.         Macro
  7117.         _SetTimeBaseMasterClock
  7118.             move.w              #$00B3,D0
  7119.             dc.w                $AAAA
  7120.         EndM
  7121.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7122.         IMPORT_CFM_FUNCTION SetTimeBaseMasterClock
  7123.     ENDIF
  7124.  
  7125. ;
  7126. ; pascal ComponentInstance GetTimeBaseMasterClock(TimeBase tb)
  7127. ;
  7128.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7129.         Macro
  7130.         _GetTimeBaseMasterClock
  7131.             move.w              #$00B0,D0
  7132.             dc.w                $AAAA
  7133.         EndM
  7134.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7135.         IMPORT_CFM_FUNCTION GetTimeBaseMasterClock
  7136.     ENDIF
  7137.  
  7138. ;
  7139. ; pascal void ConvertTime(TimeRecord *inout, TimeBase newBase)
  7140. ;
  7141.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7142.         Macro
  7143.         _ConvertTime
  7144.             move.w              #$00B5,D0
  7145.             dc.w                $AAAA
  7146.         EndM
  7147.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7148.         IMPORT_CFM_FUNCTION ConvertTime
  7149.     ENDIF
  7150.  
  7151. ;
  7152. ; pascal void ConvertTimeScale(TimeRecord *inout, TimeScale newScale)
  7153. ;
  7154.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7155.         Macro
  7156.         _ConvertTimeScale
  7157.             move.w              #$00B7,D0
  7158.             dc.w                $AAAA
  7159.         EndM
  7160.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7161.         IMPORT_CFM_FUNCTION ConvertTimeScale
  7162.     ENDIF
  7163.  
  7164. ;
  7165. ; pascal void AddTime(TimeRecord *dst, const TimeRecord *src)
  7166. ;
  7167.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7168.         Macro
  7169.         _AddTime
  7170.             move.w              #$010C,D0
  7171.             dc.w                $AAAA
  7172.         EndM
  7173.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7174.         IMPORT_CFM_FUNCTION AddTime
  7175.     ENDIF
  7176.  
  7177. ;
  7178. ; pascal void SubtractTime(TimeRecord *dst, const TimeRecord *src)
  7179. ;
  7180.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7181.         Macro
  7182.         _SubtractTime
  7183.             move.w              #$010D,D0
  7184.             dc.w                $AAAA
  7185.         EndM
  7186.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7187.         IMPORT_CFM_FUNCTION SubtractTime
  7188.     ENDIF
  7189.  
  7190. ;
  7191. ; pascal long GetTimeBaseStatus(TimeBase tb, TimeRecord *unpinnedTime)
  7192. ;
  7193.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7194.         Macro
  7195.         _GetTimeBaseStatus
  7196.             move.w              #$010B,D0
  7197.             dc.w                $AAAA
  7198.         EndM
  7199.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7200.         IMPORT_CFM_FUNCTION GetTimeBaseStatus
  7201.     ENDIF
  7202.  
  7203. ;
  7204. ; pascal void SetTimeBaseZero(TimeBase tb, TimeRecord *zero)
  7205. ;
  7206.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7207.         Macro
  7208.         _SetTimeBaseZero
  7209.             move.w              #$0128,D0
  7210.             dc.w                $AAAA
  7211.         EndM
  7212.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7213.         IMPORT_CFM_FUNCTION SetTimeBaseZero
  7214.     ENDIF
  7215.  
  7216. ;
  7217. ; pascal Fixed GetTimeBaseEffectiveRate(TimeBase tb)
  7218. ;
  7219.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7220.         Macro
  7221.         _GetTimeBaseEffectiveRate
  7222.             move.w              #$0124,D0
  7223.             dc.w                $AAAA
  7224.         EndM
  7225.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7226.         IMPORT_CFM_FUNCTION GetTimeBaseEffectiveRate
  7227.     ENDIF
  7228.  
  7229.  
  7230. ; ****************************************
  7231. ;*                                        *
  7232. ;*          C  A  L  L  B  A  C  K             *
  7233. ;*                                        *
  7234. ;***************************************
  7235.  
  7236. ;
  7237. ; pascal QTCallBack NewCallBack(TimeBase tb, short cbType)
  7238. ;
  7239.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7240.         Macro
  7241.         _NewCallBack
  7242.             move.w              #$00EB,D0
  7243.             dc.w                $AAAA
  7244.         EndM
  7245.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7246.         IMPORT_CFM_FUNCTION NewCallBack
  7247.     ENDIF
  7248.  
  7249. ;
  7250. ; pascal void DisposeCallBack(QTCallBack cb)
  7251. ;
  7252.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7253.         Macro
  7254.         _DisposeCallBack
  7255.             move.w              #$00EC,D0
  7256.             dc.w                $AAAA
  7257.         EndM
  7258.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7259.         IMPORT_CFM_FUNCTION DisposeCallBack
  7260.     ENDIF
  7261.  
  7262. ;
  7263. ; pascal short GetCallBackType(QTCallBack cb)
  7264. ;
  7265.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7266.         Macro
  7267.         _GetCallBackType
  7268.             move.w              #$00ED,D0
  7269.             dc.w                $AAAA
  7270.         EndM
  7271.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7272.         IMPORT_CFM_FUNCTION GetCallBackType
  7273.     ENDIF
  7274.  
  7275. ;
  7276. ; pascal TimeBase GetCallBackTimeBase(QTCallBack cb)
  7277. ;
  7278.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7279.         Macro
  7280.         _GetCallBackTimeBase
  7281.             move.w              #$00EE,D0
  7282.             dc.w                $AAAA
  7283.         EndM
  7284.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7285.         IMPORT_CFM_FUNCTION GetCallBackTimeBase
  7286.     ENDIF
  7287.  
  7288. ;
  7289. ; pascal OSErr CallMeWhen(QTCallBack cb, QTCallBackUPP callBackProc, long refCon, long param1, long param2, long param3)
  7290. ;
  7291.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7292.         Macro
  7293.         _CallMeWhen
  7294.             move.w              #$00B8,D0
  7295.             dc.w                $AAAA
  7296.         EndM
  7297.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7298.         IMPORT_CFM_FUNCTION CallMeWhen
  7299.     ENDIF
  7300.  
  7301. ;
  7302. ; pascal void CancelCallBack(QTCallBack cb)
  7303. ;
  7304.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7305.         Macro
  7306.         _CancelCallBack
  7307.             move.w              #$00B9,D0
  7308.             dc.w                $AAAA
  7309.         EndM
  7310.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7311.         IMPORT_CFM_FUNCTION CancelCallBack
  7312.     ENDIF
  7313.  
  7314.  
  7315. ; ****************************************
  7316. ;*                                        *
  7317. ;*          C L O C K   C A L L B A C K      *
  7318. ;*                S U P P O R T              *
  7319. ;*                                        *
  7320. ;***************************************
  7321.  
  7322. ;
  7323. ; pascal OSErr AddCallBackToTimeBase(QTCallBack cb)
  7324. ;
  7325.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7326.         Macro
  7327.         _AddCallBackToTimeBase
  7328.             move.w              #$0129,D0
  7329.             dc.w                $AAAA
  7330.         EndM
  7331.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7332.         IMPORT_CFM_FUNCTION AddCallBackToTimeBase
  7333.     ENDIF
  7334.  
  7335. ;
  7336. ; pascal OSErr RemoveCallBackFromTimeBase(QTCallBack cb)
  7337. ;
  7338.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7339.         Macro
  7340.         _RemoveCallBackFromTimeBase
  7341.             move.w              #$012A,D0
  7342.             dc.w                $AAAA
  7343.         EndM
  7344.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7345.         IMPORT_CFM_FUNCTION RemoveCallBackFromTimeBase
  7346.     ENDIF
  7347.  
  7348. ;
  7349. ; pascal QTCallBack GetFirstCallBack(TimeBase tb)
  7350. ;
  7351.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7352.         Macro
  7353.         _GetFirstCallBack
  7354.             move.w              #$012B,D0
  7355.             dc.w                $AAAA
  7356.         EndM
  7357.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7358.         IMPORT_CFM_FUNCTION GetFirstCallBack
  7359.     ENDIF
  7360.  
  7361. ;
  7362. ; pascal QTCallBack GetNextCallBack(QTCallBack cb)
  7363. ;
  7364.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7365.         Macro
  7366.         _GetNextCallBack
  7367.             move.w              #$012C,D0
  7368.             dc.w                $AAAA
  7369.         EndM
  7370.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7371.         IMPORT_CFM_FUNCTION GetNextCallBack
  7372.     ENDIF
  7373.  
  7374. ;
  7375. ; pascal void ExecuteCallBack(QTCallBack cb)
  7376. ;
  7377.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7378.         Macro
  7379.         _ExecuteCallBack
  7380.             move.w              #$012D,D0
  7381.             dc.w                $AAAA
  7382.         EndM
  7383.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7384.         IMPORT_CFM_FUNCTION ExecuteCallBack
  7385.     ENDIF
  7386.  
  7387.  
  7388.  
  7389.  
  7390.  
  7391. ;
  7392. ; pascal ComponentResult MusicMediaGetIndexedTunePlayer(ComponentInstance ti, long sampleDescIndex, ComponentInstance *tp)
  7393. ;
  7394.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7395.         Macro
  7396.         _MusicMediaGetIndexedTunePlayer
  7397.             move.l              #$00080101,-(sp)
  7398.             moveq               #0,D0
  7399.             dc.w                $A82A
  7400.         EndM
  7401.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7402.         IMPORT_CFM_FUNCTION MusicMediaGetIndexedTunePlayer
  7403.     ENDIF
  7404.  
  7405.  
  7406.  
  7407. ;  UPP call backs 
  7408.  
  7409.     ENDIF ; __MOVIES__ 
  7410.  
  7411.